绑定被忽略后,在“代码背后”中设置的WPF控件属性

tcpw

我真的是WPF的新手。我试图在代码中设置控件属性的默认值,并且想在datacontext(VM)可用时通过数据绑定覆盖属性。但是数据绑定在这种情况下不起作用。

例子:

后面的代码:

public partial class MyViewControl : UserControl
{
    public MyViewControl()
    {
        InitializeComponent();
        // it works if I remove this line
        panelControl.Visibility = Visibility.Hidden;
    }
}

xaml用户控件:

<DockPanel Name="panelControl" Visibility="{Binding
MyViewModelProperty_IsVisible_ConvertedToVisibility}">

xaml主窗口:

<my:MyViewControl DataContext="{Binding  ElementName=lbListBox,
Path=SelectedItem}"/>

实际上,FallbackValue参数适用于这种情况,但是我想知道技术原因,为什么控制属性由代码设置后无法绑定?

辛纳特

Xaml在期间进行处理InitializeComponent(),因此发生了以下情况:

InitializeComponent(); // binding is set
panelControl.Visibility = Visibility.Hidden; // binding is removed (value is set)

您可以恢复绑定

InitializeComponent();
panelControl.Visibility = Visibility.Hidden;
BindingOperations.SetBinding(panelControl, Control.VisibilityProperty,
    new Binding()
{
    Path = new PropertyPath(nameof(ViewModel.MyViewModelProperty_IsVisible_ConvertedToVisibility)),
    Source = viewModelInstance, // this.DataContext ?
});

而且它将在以后工作。但是尚不清楚您为什么首先要覆盖绑定。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WPF数据将ViewModel属性绑定到用户控件内部的ListBox中,背后的代码

来自分类Dev

从背后的代码更改母版页中的控件属性后出现的问题

来自分类Dev

在代码内绑定WPF用户控件属性

来自分类Dev

我可以通过绑定到wpf父控件上的属性的依赖项属性在xaml中设置用户控件datacontext吗?

来自分类Dev

在XAML中创建的WPF控件的设置代码

来自分类Dev

如何在背后的代码上为控件子级设置继承的父级属性

来自分类Dev

自定义控件,绑定到背后的代码

来自分类Dev

自定义控件,绑定到背后的代码

来自分类Dev

从XAML中绑定页面后的代码获取或设置INotifyPropertyChanged类的属性值

来自分类Dev

如何在代码中设置ListBox控件的Style属性

来自分类Dev

在代码前端设置的用户控件属性在 OnPreRender 中为 null

来自分类Dev

WPF用户控件双向绑定依赖属性

来自分类Dev

WPF用户控件依赖项属性绑定

来自分类Dev

WPF 用户控件属性未绑定或更新

来自分类Dev

WPF在列表框中设置项目的可见性-背后的代码

来自分类Dev

WPF 中的双向绑定:为什么在绑定同一控件的两个属性时指定绑定的属性很重要?

来自分类Dev

在 C# 中更改文本框的 Text 属性后,WPF 将绑定动态设置回原始状态

来自分类Dev

我如何从背后的代码绑定到类的属性?

来自分类Dev

绑定到子自定义控件的控件模板中父用户控件代码中定义的属性

来自分类Dev

绑定到子自定义控件的控件模板中父用户控件代码中定义的属性

来自分类Dev

从背后的代码中的CustomValidator获取ControlToValidate属性

来自分类Dev

无法在背后的代码中调用ItemTemplate中的控件

来自分类Dev

从ASP.NET Webforms中的javascript / client设置属性背后的代码

来自分类Dev

MultiDataTrigger按钮isEnabled属性从背后的代码更改后不触发

来自分类Dev

MultiDataTrigger按钮isEnabled属性从背后的代码更改后不触发

来自分类Dev

如何从XAML设置WPF用户控件属性?

来自分类Dev

WPF自定义控件-绑定到在后台代码中定义的命令

来自分类Dev

尝试根据值背后的代码设置html属性

来自分类Dev

在WPF中的用户控件上创建可绑定属性的正确方法是什么?

Related 相关文章

  1. 1

    WPF数据将ViewModel属性绑定到用户控件内部的ListBox中,背后的代码

  2. 2

    从背后的代码更改母版页中的控件属性后出现的问题

  3. 3

    在代码内绑定WPF用户控件属性

  4. 4

    我可以通过绑定到wpf父控件上的属性的依赖项属性在xaml中设置用户控件datacontext吗?

  5. 5

    在XAML中创建的WPF控件的设置代码

  6. 6

    如何在背后的代码上为控件子级设置继承的父级属性

  7. 7

    自定义控件,绑定到背后的代码

  8. 8

    自定义控件,绑定到背后的代码

  9. 9

    从XAML中绑定页面后的代码获取或设置INotifyPropertyChanged类的属性值

  10. 10

    如何在代码中设置ListBox控件的Style属性

  11. 11

    在代码前端设置的用户控件属性在 OnPreRender 中为 null

  12. 12

    WPF用户控件双向绑定依赖属性

  13. 13

    WPF用户控件依赖项属性绑定

  14. 14

    WPF 用户控件属性未绑定或更新

  15. 15

    WPF在列表框中设置项目的可见性-背后的代码

  16. 16

    WPF 中的双向绑定:为什么在绑定同一控件的两个属性时指定绑定的属性很重要?

  17. 17

    在 C# 中更改文本框的 Text 属性后,WPF 将绑定动态设置回原始状态

  18. 18

    我如何从背后的代码绑定到类的属性?

  19. 19

    绑定到子自定义控件的控件模板中父用户控件代码中定义的属性

  20. 20

    绑定到子自定义控件的控件模板中父用户控件代码中定义的属性

  21. 21

    从背后的代码中的CustomValidator获取ControlToValidate属性

  22. 22

    无法在背后的代码中调用ItemTemplate中的控件

  23. 23

    从ASP.NET Webforms中的javascript / client设置属性背后的代码

  24. 24

    MultiDataTrigger按钮isEnabled属性从背后的代码更改后不触发

  25. 25

    MultiDataTrigger按钮isEnabled属性从背后的代码更改后不触发

  26. 26

    如何从XAML设置WPF用户控件属性?

  27. 27

    WPF自定义控件-绑定到在后台代码中定义的命令

  28. 28

    尝试根据值背后的代码设置html属性

  29. 29

    在WPF中的用户控件上创建可绑定属性的正确方法是什么?

热门标签

归档