WPF绑定:如何在UserControl XAML中设置绑定源

用户名

我想像下面那样设置UserControl的Property。我该如何实现?

<HierarchicalDataTemplate DataType="{x:Type src:Class}">
      <UserControls:ClassBlock classInstance="{Binding PropertyFromClass}"/>
</HierarchicalDataTemplate>
约翰逊·沙林格

您需要设置用户控件的DataContext。当前,它不知道从哪里获取PropertyFromClass。您可以这样做:

<HierarchicalDataTemplate DataType="{x:Type src:Class}">
    <UserControls:ClassBlock classInstance="{Binding PropertyFromClass}">
        <UserControls:ClassBlock.DataContext>
            <MyViewModels:SomeViewModelHavingPropertyFromClass />
        </UserControls:ClassBlock.DataContext>
    </UserControls:ClassBlock
</HierarchicalDataTemplate>

如果您的属性是代码隐藏ClassBlock.Xaml.cs文件中的一个属性(听起来可能是这样),则必须INotifyPropertyChanged在该属性上实现接口。

用户控件

public partial class ClassBlock: UserControl, INotifyPropertyChanged
{        
    private string classInstance;

    public ClassBlock()
    {
        this.InitializeComponent();
    }

    public string ClassInstance
    {
        get
        {
            return this.classInstance;
        }

        set
        {
            this.classInstance= value;
            this.OnPropertyChanged();
        }
    }

    public void OnPropertyChanged([CallerMemberName] string propertyName = "")
    {
        if (this.PropertyChanged != null)
        {
            // Invoke the event handlers attached by other objects.
            this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }
}

XAML

<HierarchicalDataTemplate DataType="{x:Type src:Class}">
    <!-- Upper case ClassInstance -->
    <UserControls:ClassBlock ClassInstance="{Binding PropertyFromClass}" />
</HierarchicalDataTemplate>

这将解决问题,尽管那确实应该在您的中View Model查看MVVM Pattern文档以寻求帮助。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WPF绑定:如何在UserControl XAML中设置绑定源

来自分类Dev

如何在WPF中绑定和刷新UserControl绑定?

来自分类Dev

如何在 wpf UserControl 中参数化绑定?

来自分类Dev

在XAML中正确设置绑定源

来自分类Dev

如何在WPF中设置数据绑定

来自分类Dev

如何在此多绑定示例中设置源?

来自分类Dev

如何在WPF中绑定

来自分类Dev

如何在UserControl中使用绑定的XAML属性?

来自分类Dev

如何在UserControl中使用绑定的XAML属性?

来自分类Dev

如何在自动生成的 wpf DataGridCells 中设置绑定选项?

来自分类Dev

如何在UserControl中绑定集合依赖项属性

来自分类Dev

如何在UserControl中绑定集合依赖项属性

来自分类Dev

如何在WPF中绑定到UpdateSourceTrigger?

来自分类Dev

在WPF中重置绑定的源

来自分类Dev

XAML绑定项目数据模板中的源

来自分类Dev

XAML绑定项目数据模板中的源

来自分类Dev

来自UserControl的WPF数据绑定

来自分类Dev

WPF UserControl上的TwoWay绑定

来自分类Dev

如何在xaml中绑定包含元素

来自分类Dev

如何在XAML中绑定ObservableCollection的属性

来自分类Dev

如何在XAML中绑定UIElement?

来自分类Dev

不接受UserControl中的WPF多重绑定

来自分类Dev

在ListView数据模板WPF中绑定UserControl

来自分类Dev

不接受UserControl中的WPF多重绑定

来自分类Dev

如何在 C# 中使用 WPF 绑定 Xaml 中的动态值

来自分类Dev

如何在WPF中将ItemsSource与ObservableCollection绑定

来自分类Dev

如何在WPF中使用DateTimePicker绑定

来自分类Dev

如何使用样式和DataTrigger绑定到XAML中的项目源计数?

来自分类Dev

如何使用样式和DataTrigger绑定到XAML中的项目源计数?

Related 相关文章

热门标签

归档