C# 如何设置FlipViewItem中用户控件的公共变量?

C# 如何设置FlipViewItem中用户控件的公共变量?,c#,wpf,windows-store-apps,C#,Wpf,Windows Store Apps,我有一个FlipView,里面有自定义的FlipViewItems,它们有关闭按钮——我基本上是在尝试处理这些FlipView按钮。FlipViewItems有一个名为DocumentFlipViewItemControlTemplate的自定义模板,其中包含一个自定义用户控件,该控件内有关闭按钮。自定义控件有一个公共变量集合,其中包含需要由父页面设置的getter和setter,例如对要关闭的页面实例的引用。如何设置这些公共变量 FlipViewItem模板如下所示: <ControlT

我有一个FlipView,里面有自定义的FlipViewItems,它们有关闭按钮——我基本上是在尝试处理这些FlipView按钮。FlipViewItems有一个名为DocumentFlipViewItemControlTemplate的自定义模板,其中包含一个自定义用户控件,该控件内有关闭按钮。自定义控件有一个公共变量集合,其中包含需要由父页面设置的getter和setter,例如对要关闭的页面实例的引用。如何设置这些公共变量

FlipViewItem模板如下所示:

<ControlTemplate x:Key="DocumentFlipViewItemControlTemplate" TargetType="FlipViewItem">
    <Grid Width="160" HorizontalAlignment="Left" Name="MainGrid">
        <MyProject:DocumentTabControl Name="MainDocumentTabControl"/>
    </Grid>
</ControlTemplate>
为自定义控件公共属性创建:

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"

谢谢,我将此标记为答案,但我觉得与FlipViewItems的内容交互太困难,因此我使用水平对齐的堆叠面板制作自己的组件。谢谢