【发布时间】:2010-11-02 12:40:47
【问题描述】:
我在 WPF4 中有一个标签,并试图将内容绑定到来自 c# 类的值。我创建了一个 ObjectDataProvider,但由于某种原因看不到内容或更新。你能指出我做错了什么吗?
这里是 xaml -
<Grid.Resources>
<local:SummaryData x:Key="mySummaryData"/> </Grid.Resources>
<Label Name ="lbCurrentVerValue" Grid.Row="1" Grid.Column="2" Content="{Binding Path=frameworkVersion, Source={StaticResource mySummaryData}}"/>
<TextBox Name ="lbFromVerValue" Grid.Row="2" Grid.Column="2" Text="{Binding Source={StaticResource mySummaryData}, Path=frameworkVersion}"/>
这里是c#代码-
namespace DBUpgradeUI
{
public partial class DBUpgReadinessCheck : Window
{
public string userConnStr = String.Empty;
public string userFoldPath = String.Empty;
public SummaryData sd = new SummaryData();
public DBUpgReadinessCheck()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
ReadinessCheck(userConnStr, userFoldPath);
}
public void ReadinessCheck(string connectionString, string folderPath)
{
FrmImportUtility frmWork = new FrmImportUtility();
sd.frameworkVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString(); ;
frmWork.CurrentlyProcessingVersion(connectionString, folderPath, ref sd.currentVersion, ref sd.finalVersion);
}
}
public class SummaryData
{
public string currentVersion = "Test";
public string finalVersion = "finalVerTest";
public string frameworkVersion = String.Empty;
}
}
【问题讨论】:
-
代码太多,你能用更小的示例程序重现这个问题吗?
-
IIRC 绑定到
internal成员不起作用,因为 XAML 的编译方式。您可以尝试将这些成员设为公开,看看是否会有所改变? -
Kugel,刚刚对 xaml 进行了编辑以显示相关代码
-
Dan,我不知道,让我尝试更改为 public 看看是否有变化 - 谢谢
-
丹,将它们公开,但仍然不行!
标签: wpf-controls binding