我只想从xaml.cs中获取变量,将其用于我的xaml: 这是我的xaml.cs:
using System;
using System.Globalization;
namespace Calendar
{
public partial class MainWindow : Window
{
private static CultureInfo french =
CultureInfo.GetCultureInfo("fr-FR");
private static string nowStr =
DateTime.Now.ToString(French);
public static string NowStr { get => nowStr; set => nowStr = value; }
public static CultureInfo French { get => french; set => french = value; }
public MainWindow()
{
InitializeComponent();
}
}
}
这是我的xaml:
<Window x:Class="Calendar.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Calendar"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid RenderTransformOrigin="0.425,0.522">
<TextBlock Text="{Binding Path=MainWindow.nowStr}"></TextBlock>
</Grid>
</Window>
所以,我想让我的“nowStr”在我的MainWindow中显示它,但我真的不明白它是如何工作的,在这里我使用绑定但没有任何反应,我使用了本地:但仍然没有。我有点困惑,因为我在堆栈中搜索答案,但我尝试了响应,没有任何效果。 如果你能解释我如何将我的nowStr带到我的xaml,那将是优雅的。
答案 0 :(得分:1)
在.cs文件的构造函数中添加DataContext = this;
现在在TextBlock中使用Text="{Binding NowStr}"
在您的INotifyPropertyChanged
课程和您的媒体资源的设置者中实施MainWindow
通知
为什么要创建静态属性?