这里是如何在构造函数(LayoutRoot是在XAML中定义的XAML网格):
this.LayoutRoot.DataContext = this.HPVM;
我更喜欢在XAML中做到这一点,但我不知道如何引用XAML中的HPVM对象。 HPVM是USerControl类的公共属性。
它的工作正常如上所述,但是,我只想知道如何在XAML的UserControl类的属性,而不是总是在代码中做。
这里是所有相关的代码:
<UserControl x:Class="SilverlightApplication1.SLHolePattern" x:name="HolePatternsControl" xmlns="http://schemas.microsoft.com/clIEnt/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:controls="clr-namespace:Microsoft.windows.Controls;assembly=Microsoft.windows.Controls" xmlns:local="clr-namespace:SilverlightApplication1" xmlns:GeoPatterns="clr-namespace:GeoPatterns" Height="700"> <UserControl.Resources> ...
这里是我的构造函数,其中DataContext当前设置:
namespace SilverlightApplication1{ public partial class SLHolePattern : UserControl,INotifyPropertyChanged { public HolePatternsviewmodel HPVM; public SLHolePattern() { InitializeComponent(); this.HPVM=new HolePatternsviewmodel(); this.LayoutRoot.DataContext = this.HPVM; ...more code here }
它一切正常,但我只是想学习如何设置DataContext在XAML,而不是在代码。
解决方法 克里斯给的答案很好。我已经测试,它为我工作。
您可以在XAML(在UserControl.Resources中)和
然后将数据文本绑定到静态资源。
加载中,
<UserControl ...> <UserControl.Resources> <myNS:MyClass x:name="TheContext" x:Key="TheContext"></myNS:MyClass> </UserControl.Resources> <GrID x:name="LayoutRoot" Background="White" DataContext="{StaticResource TheContext}" > <TextBlock Text="{Binding Path=FIEld1}"> </TextBlock> </GrID></UserControl>总结
以上是内存溢出为你收集整理的Silverlight – 在XAML中而不是在构造函数中设置DataContext?全部内容,希望文章能够帮你解决Silverlight – 在XAML中而不是在构造函数中设置DataContext?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)