我需要绑定到App.xaml.cs类中的静态属性,到目前为止使用以下方法完成此操作:
Property="{Binding Source={x.Static Application.Current}, Path=SomePath}"
当直接运行应用程序时,这可以正常工作,但是当应用程序从另一个应用程序启动时,这些绑定不起作用,因为我认为Application.Current然后指向父应用程序而不是xaml所在的应用程序下。
如何绑定到直接的App.xaml.cs文件属性而不是父应用程序的属性?
希望有意义!
答案 0 :(得分:1)
所以我到目前为止找到的一个解决方案是在App.xaml.cs和我试图绑定的XAML之间放一个类:
<强> App.xaml.cs:强>
public partial class App : Application
{
public static string SomeText;
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
SomeText = "Here is some text";
}
}
<强> MyProperties.cs:强>
public class MyProperties
{
public static string SomeText
{
get { return App.SomeText; }
}
}
<强> MainWindow.xaml:强>
<Window.Resources>
<local:MyProperties x:Key="properties"/>
</Window.Resources>
<Grid>
<TextBlock Text="{Binding Source={StaticResource properties},
Path=SomeText}"/>
</Grid>
任何其他建议仍然非常受欢迎:)