-1

我试图绑定到的视图模型中的属性:

 private TextActionValue _textActionVal;
    public TextActionValue TextActionVal
    {
        get { return _textActionVal; }
        set
        {
            _textActionVal = value; 
        }
    }

xml:

<Grid Margin="0,15,15,15" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <GroupBox Grid.Row="1" BorderThickness="0">
        <TextBox Margin="0,5,0,5" AcceptsReturn="True" AcceptsTab="True" Text="{Binding TextActionValue.Text}" HorizontalAlignment="Stretch" MinHeight="100"></TextBox>
    </GroupBox>
</Grid>

最后是 TextActionValue 类:

public class TextActionValue : ISomeAction, INotifyPropertyChanged
{
    private String _text;
    public String Text
    {
        get { return _text; }
        set
        {
            _text = value;
            OnPropertyChanged("Text");
        }
    }

    #region INotifyPropertyChanged Members

    public event PropertyChangedEventHandler PropertyChanged;
    public void OnPropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }
    }
    #endregion
}

text 属性已填充。当我踩到它时,肯定有一个价值。

如果我只是绑定到一个基本的字符串属性,它就可以工作。它不喜欢“TextActionValue.Text”。这不是一个选择,除非我做了一些我想尽可能避免的重构。

如果我在 TextActionValue get 中放置一个断点... get 永远不会被命中。所以这告诉我绑定永远不会创建。为什么……或者我试图做的事情是不可能的?

4

1 回答 1

2

尝试绑定到TextActionVal.Text而不是TextActionValue.Text

您正在尝试绑定到类而不是属性。

调试时还要检查输出窗口以查看数据绑定错误。

于 2012-09-24T15:37:37.013 回答