【问题标题】:wpf equivalent of a Java EE syntaxwpf 等效于 Java EE 语法
【发布时间】:2013-01-11 16:31:01
【问题描述】:

昨天我只是在与一个多窗口 wpf 应用程序作斗争,试图让一个绑定在另一个窗口上工作,然后我放弃了,把所有东西都塞到一个窗口上。 但是,我注意到没有办法在表单中绑定(在常规 JSP 页面中);

<ui:textField ...text="#{SessionBean1.choosePlaceAndTimeForm.checkOutDate}".../>

如果有某种方法可以让 Session 对象在 WPF 应用程序期间保持活动状态,并且如果我可以从每个窗口绑定到它。我的生活会更轻松。有什么建议吗?

【问题讨论】:

    标签: c# wpf jakarta-ee binding


    【解决方案1】:

    根据这个答案:WPF Application using a global variable

    使用以下字典:

    Application.Current.Properties
    

    可以使用哪个绑定(键字符串不用双引号):

    <TextBlock Text="{Binding Path=Application.Current.Properties[MyPropertyKey]}" />
    

    或者实现一个静态类:

    public static class ConfigClass()
    {
        public static int MyProperty { get; set; }
    }
    

    【讨论】:

    • 您的意思是像App.Current.Properties["NameOfProperty"] = 5; 一样添加一个属性。但是当前意味着我正在正确设置属性的 wpf 窗口?如果我想从另一个 wpf 窗口访问该属性怎么办。那么 current.properties 会有那个属性吗?如果我只是将 3 个不同窗口中的 3 个文本框绑定到同一个 App.Current.Properties["NameOfProperty"] 值,它们会起作用吗?
    • 是的,因为它的范围是 Application 对象。
    • 感谢您的回答。但令我困惑的另一件事是为什么其他人定义一个类并将应用程序 obj 中的属性放入该类并使用该类。使用app类什么的有错吗?
    • 取决于上下文。单元测试 App 对象比单元测试一个简单的类更难。
    【解决方案2】:

    使用 App 对象。

    您可以将资源放在 App 对象的 ResourceDictionay 中,并使用 StaticResource 绑定对其进行绑定。或者在各个窗口的ViewModel中引用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      • 1970-01-01
      • 2011-08-22
      • 1970-01-01
      • 2015-04-06
      • 2017-09-03
      • 2011-01-11
      相关资源
      最近更新 更多