2012-12-31 78 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