0

Caliburn.Micro.Telerikコンベンションプロジェクトを使用しています。

telerikタブビューモデルを動的にロードするビューがあります。

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

IsEnabledタブビューモデルの1つのプロパティを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がgithubIssueページ(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 に答える