【问题标题】:Separating codebehind and controls分离代码隐藏和控件
【发布时间】:2011-01-23 02:05:26
【问题描述】:

我正在使用 silverlight 4 和 telerik rad 控件。将控件的逻辑分离到另一个 c# 程序集中的最佳方法是什么?例如。我说的所有代码 radCtrl.ItemSource = "";等等,我想在另一个程序集中。

【问题讨论】:

    标签: silverlight silverlight-4.0 telerik wcf-ria-services


    【解决方案1】:

    如果我猜对了,你不会想在后面的代码中设置 ItemsSource 和类似的东西。 查看 MVVM 模式 (http://jesseliberty.com/2010/05/08/mvvm-its-not-kool-aid-3/)。这是一种将您的视图与“数据”分开的非常酷的方法。如果您希望它在自己的程序集中,您可以创建一个 View 程序集和一个 ViewModel 程序集。要显示您使用绑定的数据。

    BR,

    TJ

    【讨论】:

    • WCF Ria 服务在这里有什么相关性吗?
    • 我认为这应该不是问题。我不太喜欢 WCF Ria 服务,但这些服务基本上是您的模型。
    • John Papa 有一个很棒的视频,展示了 MVVM 和 RIA 的实现。 channel9.msdn.com/Series/Silverlight-Firestarter/…
    【解决方案2】:

    嗯。像 TerenceJackson 一样,有 MVVM 选项 但在最简单的分离概念中,这并不是真正的分离,只是 C# 不会连接到 Xaml:

    1. 创建一个 Xaml(比如 MyControl.Xaml)。
    2. 创建一个继承自 Control (MyControlCode.cs) 的类。
    3. 在构造函数中添加:

          DefaultStyleKey = typeof(MyControlCode);
      
    4. 在 Xaml 中,引用项目的命名空间,并创建对象的实例:

    就是这样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-07
      • 1970-01-01
      • 1970-01-01
      • 2017-06-27
      相关资源
      最近更新 更多