c# - 索引 WPF 选项卡控件

标签 c# wpf mvvm

我已通过 ViewModel 属性将选项卡控件绑定(bind)到集合。我希望选项卡标题反射(reflect)它显示的项目的索引,但这似乎非常困难。是否有捷径可寻?

   <TabControl
            Style ="{StaticResource GtlTabControl}"
            ItemsSource="{Binding Images}"
            SelectedIndex="{Binding CurrentImageIndex}">
        <TabControl.ItemContainerStyle>
            <Style TargetType="TabItem">
                <Setter Property="Header" Value="???"/>
            </Style>
        </TabControl.ItemContainerStyle>
       ...
   </TabControl>

最佳答案

您可以在 xaml 中使用 AlternationIndex。像这样的东西:

<TabControl Style ="{StaticResource GtlTabControl}"
    ItemsSource="{Binding Images}"
    SelectedIndex="{Binding CurrentImageIndex}"
    AlternationCount="{Binding Path=Items.Count, RelativeSource={RelativeSource Self}}">
    <TabControl.ItemContainerStyle>
        <Style TargetType="TabItem">
            <Setter Property="Header" Value="{Binding Path=(ItemsControl.AlternationIndex), RelativeSource={RelativeSource  FindAncestor, AncestorType=TabItem}}"/>
        </Style>
    </TabControl.ItemContainerStyle>
</TabControl>

这里还发布了替代方案:Show SelectedIndex in WPF Tabcontrol header template

关于c# - 索引 WPF 选项卡控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26869076/

相关文章:

c# - 如何设置serilog的outputTemplate 'WriteTo.Http'

c# - WPF 用户控件不显示

c# - 在 Canvas 中移动按钮

c# - 错误 : GenerateWinPRTManifest

c# - 如果记录存在则不插入

c# - Caliburn.micro 将参数从一个屏幕传递到另一个屏幕

c# - WPF Lostfocus 无法正确触发 vs2010 treeviewitem

mvvm - MVVM模式中的WP7应用程序中的 View 的标准是什么?

wpf - wpf的 Prism vs mvvm灯

wpf - 防止用户选择选项卡 WPF 选项卡项