1

タイトルで申し訳ありませんが、一言で説明する方法がわかりません。

ここに私の目標があります。ビューモデルにブール値を設定して、コントロール (境界線) の可視性を定義する必要があります。

BooleanToVisibilityConverter を使用してこれを達成できることはわかっていますが、それにはもう少し多くのことがあります。コントロールが表示されていない場合に、UI にボタンを表示したい。そのボタンが押されたら、ViewModel のブール値を TRUE にして、コントロールを表示し、押されたばかりのボタンを折りたたむようにします。そのコントロールが表示されたら、最近表示されたコントロール内のボタンでコントロールを折りたたんでから、元のボタンを表示したいと思います。

基本的に、2 つのボタンがあります。1 つは表示可能にする (その後、それ自体を折りたたむ) もので、もう 1 つはコンテナーを折りたたんで最初のボタンを表示するものです。

私はMVVMでこれをすべてやろうとしているので、ビューでコードビハインドを避けることができれば理想的です!

4

2 に答える 2

1

ビューモデルで ICommands を使用しているため、これは機能するはずです...コマンドが「ShowBorderCommand」と「HideBorderCommand」であり、ビューモデルのプロパティが「ShowBorder」であると仮定します

<ConverterNamespace:BooleanToVisibilityConverter x:Key="BoolToVis"/>
<ConverterNamespace:ReverseBooleanToVisibilityConverter x:Key="BoolToCollapse"/>

<Border Visibility="{Binding ShowBorder, Converter={StaticResource BoolToVis}}">
    <Button Command="{Binding HideBorderCommand}"/>
</Border>

<Button Command="{Binding ShowBorderCommand}" Visbility="{Binding ShowBorder, Converter={StaticResource BoolToCollapse}}"/>
于 2012-07-09T20:11:12.430 に答える
1

私のWPF Converters ライブラリには、BooleanToVisibilityConverter逆変換を許可するだけでなく、Hidden代わりに を使用できる がありCollapsedます。

<con:BooleanToVisibilityConverter x:Key="ReverseBooleanToVisibilityConverter" IsReversed="True"/>
<Button Visibility="{Binding SomeProperty, Converter={StaticResource ReverseBooleanToVisibilityConverter}}"/>
于 2012-07-09T19:51:24.690 に答える