我想绑定项目对象中的projectName属性...这是我的view.xaml.cs文件..
代码背后:
TempData t = new TempData();
t.Contract = contract;
t.Project = project;
this.DataContext = t;
我在这样的文本块中将其绑定,但它不起作用。
XAML:
<TextBlock Text="{Binding ProjectName, Mode=TwoWay}"
DataContext="{Binding t}" FontSize="20"
Foreground="Black"
TextAlignment="Right"
Margin="100,0,0,0">
enter code here
</TextBlock>
答案 0 :(得分:0)
当您在此时进行绑定时,属性名称和绑定路径必须与字符大小写相同。在这里,我发布了你想要的代码
XAML 两侧都没有DataContext。在XAML或代码隐藏
中使用<TextBlock Text="{Binding ProjectName, Mode=TwoWay}"
FontSize="20"
Foreground="Black"
TextAlignment="Right"
Margin="100,0,0,0" />
C#
class TempData
{
public string Contract { get; set; }
public string ProjectName { get; set; }
}
public sealed partial class BlankPage2 : Page
{
public BlankPage2()
{
this.InitializeComponent();
string contract = "contract", project = "project";
TempData t = new TempData();
t.Contract = contract;
t.ProjectName = project;
this.DataContext = t;
}
}
答案 1 :(得分:0)
我想你想说的是这个(但很难说)......
<TextBlock Text="{Binding Project.ProjectName, Mode=TwoWay}"
FontSize="20"
Foreground="Black"
TextAlignment="Right"
Margin="100,0,0,0">
...
</TextBlock>
或者如果你想......
<TextBlock Text="{Binding ProjectName, Mode=TwoWay}"
DataContext="{Binding Project}" FontSize="20"
Foreground="Black"
TextAlignment="Right"
Margin="100,0,0,0">
...
</TextBlock>
假设您的TempData.Project
是某个带有ProjectName
// in your code-behind...
this.DataContext = new TempData
{
Contract = new Contrac{},
Project = new Project{ ProjectName = "My proj...", }
}
// this is for the window or user-control (I guess) - thus DataContext to start with...
你的TextBox DataContext是相同的(TempData) - 那里没有t
。
这就是你已经的地方 - 即你的TextBox的'上下文'(除非你之间有其他一些控件,列表项等)。只需直接绑定到Project.ProjectName