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

本文关键字:变量 控件 User FlipViewItem 设置 | 更新日期: 2023-09-27 17:50:28

我有一个FlipView与自定义的FlipViewItem s里面有关闭按钮-我基本上试图处理那些翻转按钮。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>

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

为您的自定义控件公共属性创建依赖属性:

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"