0

我正在使用 Caliburn.Micro.Telerik 约定项目

我有动态加载 Telerik Tabs 视图模型的视图:

<telerik:RadTabControl x:Name="Items" Grid.Row="1" Margin="10,0,0,0" />

我已将IsEnabled其中一个选项卡视图模型的属性设置为 false,但该选项卡始终处于启用状态。

这支持吗?如果没有,我该如何添加它?

4

2 回答 2

1

我很确定 CM 不允许元素约定使用多个属性,我不确定默认属性RadTabItem是什么。您始终可以使用选项卡控件上的样式使用显式绑定

<telerik:RadTabControl x:Name="Items" Grid.Row="1" Margin="10,0,0,0">
    <telerik:RadTabControl.Resources>
        <Style TargetType="telerik:RadTabItem">
            <Setter Property="IsEnabled" Value="{Binding IsEnabled}" />
        </Style>
    </telerik:RadTabControl.Resources>
</telerik:RadTabControl>

或者尝试ConventionManager为它们使用和设置默认约定(尽管这可能已经设置为 Telerik CM 框架中的某些内容)

ConventionManager.AddElementConvention<RadTabItem>(RadTabItem.IsEnabledProperty, "IsEnabled", "?");

(您可能已经注意到“?”,我不确定哪些事件RadTabItem可用,哪些应该是触发操作的默认事件,因此您必须自己填写此事件,请参阅此处了解更多信息:Caliburn 元素约定)

编辑:

实际上查看 src,似乎没有提供默认约定RadTabItem

https://github.com/vcaraulean/Caliburn.Micro.Telerik/blob/master/WPF/Caliburn.Micro.Telerik/TelerikConventions.cs

所以看起来你应该沿着这ConventionManager条路走

于 2013-01-02T11:02:29.513 回答
0

我曾尝试使用 ConventionManager 但没有成功。

我最终按照 Charleh 和 Valeriu 在 github 问题页面 ( https://github.com/vcaraulean/Caliburn.Micro.Telerik/issues/12#issuecomment-11840602 ) 上的建议使用了这个 XAML:

<telerik:RadTabControl x:Name="Items">
    <telerik:RadTabControl.ItemContainerStyle>
        <Style TargetType="telerik:RadTabItem">
            <Setter Property="IsEnabled" Value="{Binding IsEnabled}" />
        </Style>
     </telerik:RadTabControl.ItemContainerStyle>
</telerik:RadTabControl>
于 2013-01-03T17:38:15.827 回答