0

我有一个窗口,其中包含一个用户控件。usercontrol 有一个依赖值,我需要将它绑定到 windows viewmodel 上的一个值。

但是,无论我尝试什么,我都以null.

所以,是时候放一些代码了。

这是我添加用户控件的地方,我认为这是我遇到问题的地方。我正在尝试将用户控件上的“PlantToSearch”属性绑定到视图模型中的“SelectedPlant”。

    <my:BomSearchControl Grid.Row="1" Grid.ColumnSpan="2" HorizontalAlignment="Left"
                             PlantToSearch="{Binding RelativeSource={RelativeSource 
                                FindAncestor, AncestorType={x:Type local:SaveAsWindow}},
                                Path=DataContext.SelectedPlant}"
                         Margin="4" VerticalAlignment="Top" >
    </my:BomSearchControl>

我试图将它指向 SaveAsWindow 的数据上下文,但这似乎不起作用。

在我的 BomSearchControl 上,我有以下代码,用于依赖属性:

public static DependencyProperty PlantToSearchProperty = DependencyProperty.Register("PlantToSearch", typeof(Plant), typeof(BomSearchControl));

    public Plant PlantToSearch
    {
        get { return (Plant)GetValue(PlantToSearchProperty); }
        set { SetValue(PlantToSearchProperty, value); }
    }
4

1 回答 1

0

所以,这真的很尴尬。在视图模型中设置它之后,我只是忘记在 UI 中更新我的属性。

所以基本上,解决方法是添加OnPropertyChanged我的二传手。

    private Plant _selectedPlant;
    public Plant SelectedPlant
    {
        get { return _selectedPlant; }
        set 
        { 
            _selectedPlant = value;
            OnPropertyChanged("SelectedPlant");
        }
    }
于 2013-05-16T08:37:24.737 回答