【问题标题】:Alternative of ContentPresenter with selected item in wpf在 wpf 中使用所选项目替代 ContentPresenter
【发布时间】:2014-07-11 04:20:30
【问题描述】:

是否有任何控件或种类,可能带有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>

【问题讨论】:

    标签: c# .net wpf selecteditem selectedindexchanged


    【解决方案1】:

    您需要ItemsControl 或其派生类ListViewListBoxDataGrid 等。它们具有SelectedItem 属性。

    要根据任何条件设置ItemTemplate,请使用DataTemplateSelector 并设置Itemscontrol.Itemtemplateselector 属性。详情见msdn

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-12
      • 2012-09-25
      相关资源
      最近更新 更多