Альтернатива ContentPresenter с выделенным элементом в wpf

1

Являются ли какие - либо элементы управления или рода, с selectedindexchanged события или собственности selecteditem может быть?

Теперь я использую ContentPresenter и мне нужно некоторое решение для получения индекса выбранной проблемы. С DataTemplate внутри это желательно.

Мой код выглядит так:

<Border BorderThickness="1">
<ContentPresenter Content="{Binding Path=Value}">
    <ContentPresenter.Resources>
        <DataTemplate DataType="{x:Type System:String}">
            <TextBox Text="{Binding Path=Content, RelativeSource={RelativeSource AncestorType={x:Type ContentPresenter}}}" 
                 TextAlignment="Left"
                 BorderThickness="0"/>
        </DataTemplate>
        <DataTemplate DataType="{x:Type System:Int32}">
            <TextBox Text="{Binding Path=Content, RelativeSource={RelativeSource AncestorType={x:Type ContentPresenter}}}" 
                 TextAlignment="Left"
                 BorderThickness="0"/>
        </DataTemplate>
        <DataTemplate DataType="{x:Type System:Double}">
            <TextBox Text="{Binding Path=Content, RelativeSource={RelativeSource AncestorType={x:Type ContentPresenter}}}" 
                 TextAlignment="Left"
                 BorderThickness="0"/>
        </DataTemplate>
        <DataTemplate DataType="{x:Type System:Boolean}">
            <Border Background="White">
                <CheckBox IsChecked="{Binding Path=Content, RelativeSource={RelativeSource AncestorType={x:Type ContentPresenter}}}" 
                 HorizontalAlignment="Left"/>
            </Border>
        </DataTemplate>
    </ContentPresenter.Resources>
</ContentPresenter>
</Border>
Теги:
wpf
selecteditem
selectedindexchanged

1 ответ

1

Вам нужен DataGrid ItemsControl или его производные ListView, ListBox, DataGrid и т.д. У них есть свойство SelectedItem.

Чтобы установить ItemTemplate зависимости от любых критериев, используйте DataTemplateSelector и установите свойство Itemscontrol.Itemtemplateselector. Подробности в msdn

http://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol.itemtemplateselector(v=vs.110).aspx

Ещё вопросы

Сообщество Overcoder
Наверх
Меню