私はObservableCollection<Note> Notes
から利用可能なすべてのメモをリストボックスコントロールでノートアプリケーションを持っています。 class Note
は、私が欲しいものWP7:条件付きでデータテンプレート内のコントロール要素を表示および非表示
String Title;
bool Has_Reminder;
DateTime Reminder_Date;
などの属性を持っていることはHas_Reminder
がtrueの場合Reminder_Date
を示したのTextBlock要素は、のみ、表示されていることです。しかし、私はカスタムコントロールのNoteListItemからこの属性にアクセスする方法を知らない。そのthis.DataContext
属性はnull
ですが、コントロールはListBox ItemsSourceによって渡されたNoteのバインドされた属性を適切に表示します。それをどうすれば実現できますか?
ありがとうございました。
public NoteListItem()
{
InitializeComponent();
Note this_note = LayoutRoot.DataContext as Note; // turns out, this_note is null
if (!this_note.Has_Reminder)
Reminder_Info.Visibility = System.Windows.Visibility.Collapsed;
}
NoteListItem制御
<Grid x:Name="LayoutRoot" >
<TextBlock x:Name="Title" Text="{Binding Title}" />
<TextBlock x:Name="Reminder_Date" Text="{Binding Reminder_Date}" />
</Grid>
NoteList制御:
<ListBox x:Name="NoteListBox" ItemsSource="{Binding Notes}" >
<ListBox.ItemTemplate>
<DataTemplate>
<local:NoteListItem />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
を
私は動作しませんでしたコンストラクタ内の属性を、読み込もうとしましたが3210
最後に、あなたのソースをチェックアウトする時間を持っていました。うわー、それは簡単でした!この前に私はどのようにコンバータを使用するか分かりませんでした。そのガイドをありがとう! – Joern