我想通过转换器绑定WPF中窗口的可见性。我收到错误。 System.Windows.StaticResourceExtension System.Windows.StaticResourceExtension在'System.Windows.StaticResourceExtension'上提供值抛出异常
我下面提供我的代码。 我的看法是 enter image description here
<Window x:Class="UI.ChildWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:UI"
xmlns:UtilityValue="clr-namespace:UI.Utility"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
mc:Ignorable="d"
Title="ChildWindow" Height="70" Width="400" WindowStartupLocation="CenterScreen" WindowStyle="None"
Visibility="{Binding WindowVisibility, Converter={StaticResource VisibilityConverter}, Mode=TwoWay}">
<Window.Resources>
<UtilityValue:TextInputToVisibilityConverter x:Key="TextInputToVisibilityConverter"></UtilityValue:TextInputToVisibilityConverter>
<UtilityValue:EventToCommandBehavior x:Key="CommandBehavior"></UtilityValue:EventToCommandBehavior>
<SolidColorBrush x:Key="brushWatermarkBackground" Color="White" />
<SolidColorBrush x:Key="brushWatermarkForeground" Color="LightSteelBlue" />
<SolidColorBrush x:Key="brushWatermarkBorder" Color="Indigo" />
<UtilityValue:BooleanToVisibilityConverter x:Key="VisibilityConverter"></UtilityValue:BooleanToVisibilityConverter>
<Style x:Key="EntryFieldStyle" TargetType="Grid" >
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="2" />
</Style>
</Window.Resources>
我的视图模型作为followes:
区域WindowVisibility
private bool _windowVisibility=true;
public bool WindowVisibility
{
get { return _windowVisibility; }
set { _windowVisibility = value;
OnPropertyChanged("WindowVisibility");
}
}
#endregion
Converter是
public class BooleanToVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value != null)
{
if ((bool)value)
return Visibility.Visible;
else
return Visibility.Collapsed;
}
else
return Visibility.Collapsed;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
该转换器与其他控件,但与正常工作这个窗口我t不工作。 我想知道转换器的工作与窗口级别或只在控件?
只是要注意,BooleanToVisibilityConverter已经存在,请参阅[MSDN](https://msdn.microsoft.com/en-us/library/system.windows。 controls.booleantovisibilityconverter%28v = vs.110%29.aspx) –