需要在XAML中的Window中添加xmlns:local="clr-namespace:WpfApplication53",在TextBox的Text属性使用绑定{Binding Path=XPropety, Source={x:Static local:AClass.Instance}}
其中WpfApplication53是类AClass所在的命名空间
下面是示例代码
<Window x:Class="WpfApplication53.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:WpfApplication53" Title="MainWindow" Height="350" Width="525"> <Grid> <TextBox Text="{Binding Path=XPropety, Source={x:Static local:AClass.Instance}}" /> </Grid> </Window>
using System.Windows; namespace WpfApplication53 { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() { AClass.Instance.XPropety = "ABC"; InitializeComponent(); } } public class AClass { public static AClass Instance = new AClass(); public string XPropety { get; set; } } }
您的回答很详细,谢谢!
我一开始老想着直接赋值的方式,没想到用绑定。这种场景用绑定应该是最简便了,直接赋值的XAML貌似没法实现。
1 给页面 指定数据源 是 AClass
<UserControl.DataContext>
<AClass/>
</UserControl.DataContext>
2<TextBlock Text="{Binding XPropety}"/>
也谢谢您的关注和答复。