Как я понимаю, вы должны указать Command
, что приведет к извлечению или изменению какого-либо параметра.в вашем xaml оно будет Binding
для свойства, которое вы хотите изменить, может быть с конвертером или без него.Такой способ похож на MVVM.Если вы хотите изменить видимость между двумя элементами управления, как, например, в TextBox и TextBlock, вы должны создать переменную Visibility
в вашей View-Model, которая будет представлять ее видимость, и привязать ее значение к TextBox или TextBlok.Ваш xaml будет содержать следующие строки:
<Window.Resources>
<local:ReverseVisibilityConverter />
</Window.Resources>
....
<TextBox Name="MyTB" Visibility="{Binding tbVisibility}" />
<TextBlock Visibility="{Binding ElementName=MyTB, Path=Visibility, Converter={StaticResources ReverseVisibilityConverter }}" />
public sealed class ReverseVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
try
{
var flag = (Visibility)value;
if (flag == Visibility.Visible)
return Visibility.Collapsed;
else
return Visibility.Visible;
}
catch
{
return Visibility.Visible;
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
try
{
if (((Visibility)value) == Visibility.Visible)
return Visibility.Collapsed;
else
return Visibility.Visible;
}
catch
{
return Visibility.Visible;
}
}
}
, где local
- это пространство имен, в котором определены Converter
и.Вы обозначаете, что tbVisibility
- это переменная, которая существует в Ancestor DataContext
.Дайте мне больше информации, чтобы помочь вам, если это не ясно.