如何设置FlipViewItem内的User控件的公共变量?

时间:2012-12-31 17:40:10

标签: c# wpf windows-store-apps

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

FlipViewItem模板如下所示:

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

1 个答案:

答案 0 :(得分: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"