2014-03-14 49 views
0

我已經定義了自定義ListviewItemStyle。 在風格模板有一個按鈕windows store應用程序xaml模板屬性

<Button x:Name="btnAbout" Grid.Column="1" 
     Style="{StaticResource GCAboutButton}" 
     Visibility="Collapsed"  
     Command="{Binding DataContext.AboutCommand, ElementName=List}" 
     CommandParameter="{Binding Item}"> 
</Button> 

VisualStateManagerVisibitity的該按鈕更改爲Visible,在ListViewItemSelecetd狀態。

ListView的包含不同類型的物品,從基類派生的,例如:

class Base; class Man: Base; class Woman:Base; 

的問題是: 按鈕必須是可見的,當SelectedItem是男人,不可見的,當選擇的項目是女人。 如何從代碼中獲取模板中定義的按鈕。例如,frome SelectionChanged事件ListView

+0

您必須在'Visibility'屬性上使用數據綁定。你可能需要定義一個轉換器來做到這一點。 –

+0

爲男人和女人定義兩個新的VisualStates。在這些VisualStates中更改按鈕的可見性。從SelectionChanged事件中應用適當的VisualState。 –

+0

@VictoryJessie Visual State是ViewElement的一個參數。如何獲得選擇視圖的列表框?我可以選擇綁定的項目,但不能查看。 –

回答

0

您可以使用Impllicit數據模板。看到這個linkthis也可能有所幫助。 DataTemplate類具有與Style類的TargetType屬性非常相似的DataType屬性,因此根據您的類型可以管理該模板。

相關問題