0
から現在の相続リストビューを取得することができ、私は、リストビューの2つの相続持っている:後ろのコードでWPF:どのように私はDataTemplateを
<Window.Resources>
<DataTemplate x:Key="FileListViewTemplate">
<dtc:FileListView/>
</DataTemplate>
<DataTemplate x:Key="ThumbnailViewTemplate">
<dtc:ThumbnailView/>
</DataTemplate>
</Window.Resources>
<Grid>
<CheckBox x:Name="MyCheckBox">
<ContentControl x:Name="MyContentControl" MouseDown="OnContentControlMouseDown">
<DataTemplate>
<ContentPresenter x:Name="AudioPresenter"
ContentTemplate="{StaticResource FileListTemplate}"/>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding ElementName=MyCheckBox, Path=IsChecked}"
Value="true">
<Setter TargetName="AudioPresenter"
Property="ContentTemplate"
Value="{StaticResource ThumbnailViewTemplate}" />
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ContentControl>
</Grid>
:
public ListView GetCurrentListView()
{
ListView lv = null;
DataTemplate fileListViewTemplate = base.FindResource("FileListViewTemplate")
as DataTemplate;
DataTemplate thumbnailViewTemplate = base.FindResource("ThumbnailViewTemplate")
as DataTemplate;
ContentPresenter contentPresenter = VisualTreeHelper.GetChild(this.MyContentControl, 0)
as ContentPresenter;
try
{
lv = fileListViewTemplate.FindName("FileListView", contentPresenter)
as ListView;
}
catch (Exception)
{
lv = thumbnailViewTemplate.FindName("ThumbnailView", contentPresenter)
as ListView;
}
return lv;
}
XAMLで
public class FileListView : ListView
public class ThumbnailListView : ListView
を私は、コードを次しています
CheckBoxが指定されている場合、ThumbnailViewが表示されます。それ以外の場合はFileListViewが表示されます。そして、いつかは、コードの背後にある現在のリストビューを取得したいと考えています。 私は何が間違っていますか?
これは不要です – Swan911