StackPanel
私はSomeTabControl.SelectedItem != null
の場合にのみ表示させたいです。 WPFバインディングでこれをどうやって行うのですか?wpfデータバインドIsVisible to TabControl.SelectedItem!= null
9
A
答えて
13
あなたがスタイルとトリガを使用することにより、コンバータなしでそれを行うことができます。
5
null可能な値をSystem.Windows.Visibilityの値に変換してバインディングで使用するコンバータを作成します。例えば
:コンバータクラスの
<StackPanel x:Name="myPanel" Visibility="{Binding Path=SelectedItem, Mode=OneWay, ElementName=SomeTabControl, Converter={StaticResource visibilityConverter}}" />
コード:
public class VisibilityConverter : IValueConverter
{
#region [ IValueConverter ]
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if(value == null)
return System.Windows.Visibility.Collapsed;
return System.Windows.Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotSupportedException();
}
#endregion
}
P.S.これは、コントロールのXAMLには、visibilityConverterという名前の静的リソースがあることを前提としています。
<StackPanel>
<StackPanel.Style>
<Style TargetType="{x:Type StackPanel}">
<Setter Property="Visibility" Value="Visible" />
<Style.Triggers>
<DataTrigger
Binding="{Binding SelectedItem,ElementName=tabControl1}"
Value="{x:Null}">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
<Style.Triggers>
</Style>
</StackPanel.Style>
</StackPanel>
この例では、デフォルトではStackPanelを示しているが、tabControl1上のSelectedItemがnullであるとき、それを隠す:
関連する問題
- 1. WPF - データバインド
- 2. WPF XMLデータバインド
- 3. WPFコンテキストメニューのデータバインド
- 4. Wpf resourcededictionaryのデータバインド
- 5. WPF:カスタムUIElementのPointCollectionのデータバインド
- 6. WPFのコンテキストメニューのデータバインド
- 7. wpf progressbarコマンドにデータバインド
- 8. null値を返すデータバインド
- 9. WPFタブをデータバインドItemsControlに
- 10. WPFデータバインド箇条書きリスト
- 11. Null to Not Null値
- 12. IsVisible true afterNavigation.PopModalAsync();
- 13. wpf条件付きディーププロパティのデータバインド
- 14. ユーザーコントロールのデータバインドが機能しない(WPF)
- 15. WPFグリッドコントロールをCSVファイルにデータバインドする
- 16. PDO FetcthAll to JSON null
- 17. WPF:カスタムで作成されたユーザーコントロールのデータバインド
- 18. NSWindow - Hide-isVisibleで非アクティブ化
- 19. XamarinフォームIsVisible false空きスペース
- 20. WPF CommandParameter MultiBinding values null
- 21. WPFバインディングフィルタリングObservableCollection ICollectionView to Combobox
- 22. WPF MVPパターンとLinq to SQL
- 23. WPFのBool to Visibility Converter
- 24. WPFのデータバインドされたItemsControlへのアイテムの追加
- 25. UNICODE_STRING to wchar_t * null終了
- 26. Postgres COPY TO NULLの整数
- 27. 断片のisVisible()真実ではない
- 28. WPFコンテキストメニューがデータバインドされた右のアイテムにバインドされない
- 29. 複数のボタンをクリックした後のICommandの「フリーズ」のWPFデータバインド
- 30. C#WPF Compare List <T> to Datagrid.ItemsSource
優秀、ありがとう! –