有一个UserControl包含如下所示的绑定。
<TextBox Margin="5" Padding="0" IsReadOnly="True" Background="Transparent" BorderThickness="0" TextWrapping="Wrap" IsTabStop="False" FontSize="{DynamicResource TitleFontSize}" Text="{Binding ErrorTitle, Mode=OneWay}" />
它由堆栈面板绑定,名称为GenericErrorControl,绑定为
<Visibility="{Binding IsShown, Mode=OneWay, Converter={StaticResource BoolToVis}, FallbackValue=Collapsed}">
以上控件添加到以下视图之一。
<views:GenericErrorControl Grid.Row="8" DataContext="{Binding GenericErrorControl, Mode=OneWay}" VerticalAlignment="Top/>
问题是用户控件没有出现在窗口之后。在我的viewmodel创建对象中,我设置了IsShown的值,但它没有出现。如果需要任何其他细节,请帮助并告诉我。
答案 0 :(得分:0)
这意味着绑定失败,即从上面的代码中使用了回退值。
要做的事情:
确保您的ViewModel继承自基类BindableBase,即它以某种方式实现 INotifyPropertyChanged 接口,并且在属性更改时,会触发 PropertyChanged 事件。
即您在视图模型中有类似的内容。
私人布尔_IsShown; 公共布尔IsShown { 得到{return _IsShown; } set {SetProperty(ref _IsShown,value); } }仔细检查转换器或在此处发布代码。