【发布时间】:2014-11-30 19:18:29
【问题描述】:
我是 WPF/SL 的新手。我在 silverlight 中遇到以下数据绑定问题。
Scenario-1 --> 将 Textbox 的 Text 属性与 Rectangle 的 Fill 属性绑定 -- 工作正常
<Canvas>
<Rectangle x:Name="myrect" Fill="{Binding Text, Mode=TwoWay}" Height="50" MinHeight="40" Width="100" Canvas.Left="213" Canvas.Top="202"/>
<Button Height="30" Width="50" Content="Add Age" Click="Button_Click" Canvas.Left="51" Canvas.Top="113"></Button>
<TextBox x:Name="mytb" Canvas.Left="227" TextWrapping="Wrap" Text="TextBlock" Canvas.Top="114" Height="30" Width="100"/>
</Canvas>
----------------------------------------------------------------
public MainPage()
{
InitializeComponent();
myrect.DataContext = mytb;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
mytb.Text = "orange";
}
但是当我用属性名称创建一个类 PERSON 并将这个属性与矩形的 Fill 属性绑定时,它不起作用。
namespace SilverlightApplication9
{
public class Person
{
public string Name { get; set; }
}
}
------------------------------------------------
namespace SilverlightApplication9
{
public partial class MainPage : UserControl
{
Person person = new Person();
public MainPage()
{
InitializeComponent();
myrect.DataContext = person;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
person.Name = "orange";
}
}
}
-------------------------------------------------------------------------
<Canvas>
<Rectangle x:Name="myrect" Fill="{Binding Name, Mode=TwoWay}" Height="50" MinHeight="40" Width="100" Canvas.Left="213" Canvas.Top="202"/>
<Button Height="30" Width="50" Content="Add Age" Click="Button_Click" Canvas.Left="51" Canvas.Top="113"></Button>
<TextBox x:Name="mytb" Canvas.Left="227" TextWrapping="Wrap" Text="TextBlock" Canvas.Top="114" Height="30" Width="100"/>
</Canvas>
我不明白我错在哪里。感谢您提供的任何帮助
问候
【问题讨论】: