0

タブコントロールを持つウィンドウがあります。タブ項目の 1 つのコンテンツがユーザー コントロールに設定されます。IsEnabled プロパティをユーザー コントロールによって公開されるプロパティに設定する必要があるメイン ウィンドウにボタンがあります。私はこれをクリーンな方法、つまりバインディングを使用して行うことを望んでいます。

それが不可能な場合は、ユーザー コントロールでボタンの IsEnabled プロパティを設定することで、汚い方法でそれを行うことができます。メイン ウィンドウにアクセスするために、このグループに投稿されたいくつかの解決策を試しましたが、取得できません。

いずれかのアプローチに関するヘルプは大歓迎です。

4

1 に答える 1

1

これは、ユーザーコントロールに名前を付けることで実行できます。これはチェックボックスを使用した例ですが、ユーザーコントロールにも対応しています。

<Window x:Class="WpfApplication5.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <TabControl>
            <TabItem Header="Tab1">
                <CheckBox Name="checkBox1">Toggle to toggle button isEnabled</CheckBox>
            </TabItem>
        </TabControl>
        <Button Grid.Row="1" IsEnabled="{Binding IsChecked, ElementName=checkBox1}"></Button>        
    </Grid>
</Window>
于 2013-09-02T11:45:38.003 に答える