小编SRM*_*SRM的帖子

与CollectionViewSource绑定

我正在尝试使用CollectionViewSource实现一些组合框排序.此组合框实际上是数据模板的一部分,并在列表视图中重复.我的第一种方法似乎有效(使用CollectionViewSource),但我的所有组合框都共享相同的数据上下文.这使得每当其他一个盒子被改变时,所有其他盒子都改变以反映 - 而不是期望的副作用.

我决定退回并尝试使用内联xaml来实现一个基本的组合框(不在数据模板中)来指定CollectionViewSource(而不是将cvs创建为静态资源).我无法成功显示数据.因为我还是WPF的新手,所以我可能会完全错误.

这是我的组合框的xaml:

<ComboBox>
    <ComboBox.ItemsSource>
        <Binding>
            <Binding.Source>
                <CollectionViewSource Source="{Binding Path=Configurations}">
                    <CollectionViewSource.SortDescriptions>
                        <scm:SortDescription PropertyName="AgencyName" />
                    </CollectionViewSource.SortDescriptions>
                </CollectionViewSource>
            </Binding.Source>
        </Binding>
    </ComboBox.ItemsSource>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)

此组合框所在的用户控件的DataContext绑定到一个对象,该对象具有名为Configurations的ObservableCollection,并且每个配置都有一个名为AgencyName的属性.我已经证实使用没有cvs的标准绑定可以正常工作,所以我知道在那个协议中一切都很好.

任何帮助都会非常感激,因为我找不到我的老板的借口:).我也不想下载代码并在后面的代码中进行排序(我可以在构建ObservableCollection时使用,但是违反DRY原则的恕我直言).

c# data-binding wpf collectionviewsource

5
推荐指数
1
解决办法
6821
查看次数

混淆时,MEF和/或Unity是否有任何问题?

我目前在插件体系结构中使用MEF。我将要混淆我的代码,并且我担心这是否会破坏MEF及其发现。我正在使用DirectoryCatalog来解析插件,我也计划对插件进行混淆。一些扩展名也可以在主组件中运行,这些扩展名也将被混淆。

所以,我的问题是,MEF是否会成为一个问题(混淆)?如果是,Unity是否也会遭受同样的困扰?先感谢您。

c# obfuscation mef

2
推荐指数
1
解决办法
1180
查看次数

WPF ComboBox绑定到初始加载时的对象

我有一个绑定到模型对象列表的组合框.我已将组合框SelectedItem绑定到作为模型类型的属性.加载窗口后,我的所有数据绑定都能很好地工作.SelectedItem设置正确,我可以直接使用存储库保存对象.

问题是当窗口第一次加载时我初始化SelectedItem属性并且我的组合框没有显示任何内容.在我移动到绑定到对象之前,我绑定到一个字符串列表,并且在初始化时工作得很好.我知道我错过了什么,但我无法理解.

提前感谢您提供的任何指导.

(关于此页面布局的一个注释.组合框实际上是ListView中使用的另一个ItemTemplate的一部分.ListView绑定到主MV中的一个可观察集合.这个可观察集合的每个项本身就是一个ModelView.这是第二个具有SelectedItem属性的ModelView.)

这是我的模型:

    public class DistributionListModel : Notifier, IComparable
    {
    private string m_code;
    private string m_description;

    public string Code
    {
        get { return m_code; }
        set { m_code = value; OnPropertyChanged("Code"); }
    }

    public string Name
    {
        get { return m_description; }
        set { m_description = value; OnPropertyChanged("Name"); }
    }

    #region IComparable Members

    public int CompareTo(object obj)
    {
        DistributionListModel compareObj = obj as DistributionListModel;
        if (compareObj == null)
            return 1;

        return Code.CompareTo(compareObj.Code);
    }

    #endregion
}
Run Code Online (Sandbox Code Playgroud)

这里是我的ModelView中的相关代码:

public MailRoutingConfigurationViewModel(int …
Run Code Online (Sandbox Code Playgroud)

c# data-binding wpf combobox mvvm

2
推荐指数
1
解决办法
6708
查看次数

在WPF中是否可以绑定到我的DataContext中的属性的属性?

我需要将TextBox的Text绑定到类的属性,该类本身就是我的DataContext的属性.所以,例如,如果我有一个名为ServerInstance的类,它有一个名为Name的字符串属性.我将ServerInstance作为一个名为SelectedInstance的属性暴露在我的代码后面(在本例中为viewmodel).我的问题是如何将TextBox绑定到SelectedInstance属性的Name属性?

这是我的ViewModel/Code背后:

public class ViewModel : Notifier
{
    private MobileServerInstance m_instance = null;
    private RelayCommand m_addCommand = null;
    private RelayCommand m_clearCommand = null;

    public MobileServerInstance ServerInstance
    {
        get { return m_instance; }
        set { m_instance = value; OnPropertyChanged("ServerInstance"); }
    }

    public ICommand AddCommand
    {
        get
        {
            if (m_addCommand == null)
            {
                m_addCommand = new RelayCommand(parameter=>Add(parameter), parameter=>CanAdd(parameter));
            }

            return m_addCommand;
        }
    }

    public ICommand ClearCommand
    {
        get
        {
            if (m_clearCommand == null)
            {
                m_clearCommand = new RelayCommand(parameter => Clear(parameter), parameter => …
Run Code Online (Sandbox Code Playgroud)

c# data-binding wpf

0
推荐指数
1
解决办法
546
查看次数