ProgressRing
とTextBlock
があります。この基本的なハックを実装しようとしています.TextBlockのTextに値(null以外の値)が割り当てられたときに両方の要素を表示します。 TextBlockのTextがnullの場合は、両方の要素が非表示になります。文字列から可視性へのコンバータの実装方法
私のXamlは以下のようになります。 TextBlockのテキストはMessageForProgressRing
にバインドされ、その可視性はMessageForProgressRing
との両方にバインドされます。すべての私のViewModelBase
(親に、しかし
private void closeApplicationButtonTask()
{
((CaptureViewModel)DataContext).MessageForProgressRing = "Closing... ";
Application.Current.MainWindow.Close();
}
:私はちょうどプロパティを誘発し、それにいくつかのボタンのイベントハンドラに値を割り当てるの後ろのコードで次に
<StackPanel Panel.ZIndex="100" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center">
<mahControls:ProgressRing Height="50" IsActive="True" Width="50" Visibility="{Binding MessageForProgressRing, TargetNullValue=Collapsed, FallbackValue=Visible}" Foreground="White" Margin="0,0,0.2,0" />
<TextBlock Text="{Binding MessageForProgressRing}" Visibility="{Binding MessageForProgressRing, TargetNullValue=Collapsed, FallbackValue=Visible}"/>
</StackPanel>
、:私ProgressRing
に同じ私のビューモデル)のエラーメッセージが表示されます:
要求された値 '閉鎖...'が見つかりませんでした。
私は可視性がClosing...
右にバインドされているので、私は、コンバータが必要だと思いますか?はいの場合はどうしたらいいですか?
P. OnPropertyChanged
にはvalue
が割り当てられていないため、私はできませんでした。また、実行前、実行中、実行後の大きな時間と呼ばれるので、良い考えではないと思います。
あなたはこれに関する調査をしましたか? 'wpf IValueConverter'の簡単なgoogle検索では、[this one](http://wpftutorial.net/ValueConverters.html)のようなサンプルとチュートリアルがたくさんあります。 –
@Charlesええ、一度私はキーワード(IValueConverter?)が分かっています。ありがとう私はそれを見ている –
私の検索は、おそらくあまりにも特定された、私はリンク先のチュートリアルは、 'wpfコンバータ'の最初のヒットです。あなたはそれを見ていなかったと思って、おそらく私を許すことができます! –