我在 Visual Studio 2012 中使用 C# 和 XAML
MS 在 2012 年改变了 Visual Studio 的大部分内容,我无法在网络上找到有效的解决方案。我是 C#/XAML 的新手,所以我不熟悉数据绑定,如果这确实是正确的方法。
我需要在 MainPage.xaml 页面上显示 App.xaml.cs 文件中的变量。这些变量每 100-300 毫秒更改一次状态,因此每次数据更改时都要求刷新页面可能不是一个好主意。
以下是我项目中的代码片段:
App.xaml.cs 定义变量并在 dispatcherTimer 中修改它们:
namespace OpenGOTO
{
public partial class App : Application
{
public static string DateStrZ = "";
public static string FubarTest { get; set; }
}
}
在 MainPage.xaml(并不总是当前窗口)中,我有 TextBlock:
<TextBlock x:Name="UTC_Data" Text="2012-08-01 03:29:07Z" Padding="5" Style="{StaticResource TextBlockStyle1}" />
在 MainPage.xaml.cs 我有由更新字段的 dispatcherTimer 调用的例程:
public void SetFieldsTick()
{
UTC_Data.Text = App.DateStrZ;
}
如果我将其更改为
public static void SetFieldsTick()
这样我就可以从 App.xaml.cs dispatcherTimer 调用它,我收到错误消息:
非静态字段、方法或属性“OpenGOTO.MainPage.UTC_Data”需要对象引用
我该怎么做:
- 将数据绑定到字段(它会自动更新而不需要刷新整个窗口吗?)
- 创建正确的引用,以便 App.xaml.cs 中的 dispatcherTimer 可以调用 MainPage.xaml.cs 中设置 XAML 页面中的字段的例程。