質問

私はWPFに非常に新しいので、助けが必要な問題に直面しています。

私の環境は.net 4、vs2010、win 7です

ユーザーコントロールから使用するスタイルのトグルボタンを定義したいと思います。 usercontrolでトグルボイトンコントロールを宣言するとき、ボタン状態に応じて2つの可能なコンテンツを与えたいと思います。

私の質問:2つの内容(ischecked = true、1つはischecked = falseの場合は1つ)でボタンを宣言する方法がわかりません。コンパイルしないコードをいくつか含めました。

前もって感謝します

...

役に立ちましたか?

解決

次のようなものを使用できるはずです。

      <ToggleButton>
        <ToggleButton.Style>
            <Style TargetType="{x:Type ToggleButton}">
                <Setter Property="Content">
                    <Setter.Value>
                        <Grid>
                            <TextBlock>Click Me</TextBlock>
                        </Grid>
                    </Setter.Value>
                </Setter>
                <Style.Triggers>
                    <Trigger Property="IsChecked" Value="True">
                        <Setter Property="Content">
                            <Setter.Value>
                                <Grid>
                                    <TextBlock>Click Me Again</TextBlock>
                                </Grid>
                            </Setter.Value>
                        </Setter>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </ToggleButton.Style>
    </ToggleButton>

他のヒント

2つのコンテンツが何であるかに応じて、次のようなことができます。

<ToggleButton IsChecked="True">
    <ToggleButton.Style>
        <Style TargetType="{x:Type ToggleButton}">
            <Style.Triggers>
                <Trigger Property="IsChecked" Value="True">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate>
                                <Button></Button>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Trigger>
                <Trigger Property="IsChecked" Value="False">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate>
                                <Border Background="Red" />
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Trigger>
            </Style.Triggers>
        </Style>
    </ToggleButton.Style>
</ToggleButton>

この例では、ToggleButtonには、チェックされたときに1つのコンテンツ(ボタン)およびチェックされていない場合(赤い背景の境界)1つのコンテンツがあります。 Ischecked状態を個別に切り替えるためのアクションを処理する必要があります。

また、1つのことは、トグルブットンがusercontrolの唯一のコントロールである場合、usercontrolを使用する必要はありません。 usercontrolは、特定の機能(検索テキストボックスやGOボタンなどの検索コントロールとして使用するなど)を組み合わせてグループ化したい場合に、より充当されます。

ControlTemplateを設定して、ToggleButtonをスタイリングできます

小切手 WPF ControlTemplateトリガーチップ. 。これはあなたを助けます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top