我试图绑定到的视图模型中的属性:
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 永远不会被命中。所以这告诉我绑定永远不会创建。为什么……或者我试图做的事情是不可能的?