のような新しい変数を導入することなく、このようなことを実行できますか?bool showsearch =!ShowUser;
可視性= "{!ShowUserを、バインディングコンバーター= {StaticResource BoolToVis}}"
のような新しい変数を導入することなく、このようなことを実行できますか?bool showsearch =!ShowUser;
可視性= "{!ShowUserを、バインディングコンバーター= {StaticResource BoolToVis}}"
、
public class InvertedBooleanToVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
bool flag = false;
if (value is bool)
{
flag = (bool) value;
}
else if (value is bool?)
{
bool? nullable = (bool?) value;
flag = nullable.Value;
}
return flag ? Visibility.Collapsed : Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value is Visibility && (Visibility) value == Visibility.Collapsed;
}
}
あなたはスタイルとDataTriggerを使ってそれを行うことができます。問題の要素にスタイルを適用し、2つのデータトリガ値を提供します.1つは可視性をtrueに、1つをfalseに設定します。 DataTrigger where value is NOT null?
と同様にあなたは
public class BoolToVisibleConverter : ConverterMarkupExtension<BoolToVisibleConverter>,
IValueConverter
{
public object Convert(object value, Type targetType, object parameter,
CultureInfo culture)
{
bool obj=(bool) value;
if(!obj)
return Visibility.Collapsed;
else
return Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter,
CultureInfo culture)
{
Visibility obj=(Visibility) value;
if(obj==Visibility.Visible)
return true;
else
return false;
}
}
がWindow.Resources
<Window.Resources>
<converter:BoolToVisibleConverter x:Key="BoolToCollapsed"/>
</Window.Resources>
に静的リソースを追加し、グリッド、DockPanelまたは他の任意
にそれを使用するコンバータBoolToCollapsedコンバータForExampleを書くことができます<DockPannel Visibility={Binding DockVisible,
Converter={StaticResource BoolToCollapsed}/>