2012-12-31 40 views
1

我有一个FlipView与自定义FlipViewItem s里面有关闭按钮 - 我基本上是试图处理这些flipview按钮。 FlipViewItem s有一个名为DocumentFlipViewItemControlTemplate的自定义模板,其中包含一个自定义User Control,其中包含关闭按钮。自定义控件有一组需要由父页面设置的公共变量(包括getter和setter) - 例如对要关闭的页面实例的引用。这些公共变量如何设置?如何设置FlipViewItem中的用户控件的公共变量?

FlipViewItem模板看起来是这样的:

<ControlTemplate x:Key="DocumentFlipViewItemControlTemplate" TargetType="FlipViewItem"> 
    <Grid Width="160" HorizontalAlignment="Left" Name="MainGrid"> 
     <MyProject:DocumentTabControl Name="MainDocumentTabControl"/> 
    </Grid> 
</ControlTemplate> 

回答

0

创建dependency properties为您的自定义控制公共属性:

public static readonly DependencyProperty PageProperty = 
    DependencyProperty.Register("Page", typeof(Page), typeof (ViewModel), new PropertyMetadata(null)); 

public Page Page 
{ 
    get { return (Page) GetValue(PageProperty); } 
    set { SetValue(PageProperty, value); } 
} 

现在你可以将值绑定到这个属性:

<ControlTemplate x:Key="DocumentFlipViewItemControlTemplate" TargetType="FlipViewItem"> 
    <Grid Width="160" HorizontalAlignment="Left" Name="MainGrid"> 
     <MyProject:DocumentTabControl Name="MainDocumentTabControl" Page="{Binding ElementName=MyPageName}" /> 
    </Grid> 
</ControlTemplate> 

为了上面的工作,你需要命名你的页面:

<Page x:Name="MyPageName" 
+0

谢谢你,我纪念这一答案,但是我觉得这太过分了挣扎与'FlipViewItem's所以我做我自己的组件用水平排列的StackPanel内容交互的。谢谢。 – James