C# 如何设置FlipViewItem中用户控件的公共变量?
我有一个FlipView,里面有自定义的FlipViewItems,它们有关闭按钮——我基本上是在尝试处理这些FlipView按钮。FlipViewItems有一个名为DocumentFlipViewItemControlTemplate的自定义模板,其中包含一个自定义用户控件,该控件内有关闭按钮。自定义控件有一个公共变量集合,其中包含需要由父页面设置的getter和setter,例如对要关闭的页面实例的引用。如何设置这些公共变量 FlipViewItem模板如下所示:C# 如何设置FlipViewItem中用户控件的公共变量?,c#,wpf,windows-store-apps,C#,Wpf,Windows Store Apps,我有一个FlipView,里面有自定义的FlipViewItems,它们有关闭按钮——我基本上是在尝试处理这些FlipView按钮。FlipViewItems有一个名为DocumentFlipViewItemControlTemplate的自定义模板,其中包含一个自定义用户控件,该控件内有关闭按钮。自定义控件有一个公共变量集合,其中包含需要由父页面设置的getter和setter,例如对要关闭的页面实例的引用。如何设置这些公共变量 FlipViewItem模板如下所示: <ControlT
<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的内容交互太困难,因此我使用水平对齐的堆叠面板制作自己的组件。谢谢