小编Cod*_*323的帖子

动态添加文件以进行本地化C#

我需要帮助本地化我的Wpf .net 3.5应用程序.我将只向我的客户提供exe文件,他将为他的用户创建设置.我的客户希望自己添加文件以进行本地化.

本地化的一般方法是为每种语言创建.resx文件,并在CurrentUICulture中设置语言.但是既然,他不能使用resgen工具来创建资源文件,我想知道让他以txt,excel,xml格式添加文件以进行本地化的最佳方法.

PS:通过流阅读和分配密钥是唯一的方法吗?

.net c# wpf resx

6
推荐指数
1
解决办法
1289
查看次数

如何使用linq从表中搜索任何属性?

我需要搜索dblinq表,以便在任何字段与搜索输入匹配时函数应返回行列表.

它与谷歌搜索更相似,您可以使用任何关键字进行搜索,并显示匹配文档列表.

我用反射技术.您能否检查一下这种方法是否正确或是否有任何简单的方法来实现这一目的?

我已经获得了dblinq表行的所有属性,并比较了它的字符串类型,然后检查了该值.

我用过的代码

  public static List<Contacts> SearchContact(string searchText)
    {

        List<Contacts> list = new List<Contacts>();
        try
        {
            var rows= from p in context.tblContacts select p;

            foreach (var contact in rows)
            {
                Type type = contact.GetType();
                Type typesearch = searchText.GetType();
                PropertyInfo[] properties = type.GetProperties();
                foreach (PropertyInfo pro in properties)
                {
                    if (pro.PropertyType == typesearch)
                    {

                        var value = pro.GetValue(contact, null);
                        string val = value as string;

                            if (val != null && val == searchText)
                            {
                                list.Add(contact);
                                break;
                            }

                    }
                } …
Run Code Online (Sandbox Code Playgroud)

.net c# linq

6
推荐指数
1
解决办法
1183
查看次数

MVVM用于基于tabcontrol的应用程序

在我的wpf应用程序中,主视图有5个选项卡,有5个不同的用户控件,因为用户控件彼此不相关,我创建了5个不同的视图模型(除了主视图模型).

我想有一个List或字典来获取usercontrols及其viewmodel列表,现在,我想将tabitems与usercontrols列表绑定并分配datacontexts,但由于列表或字典可以更改,我找不到一种将用户控件绑定到tabitems的方法.

例如,如果我有一个标签,它将与我可以分配的用户控件相关联

 tab1View tview=new tab1View();
 tview.DataContext= new tab1ViewModel();
 tab1.Content=tview;
Run Code Online (Sandbox Code Playgroud)

但是,如何从具有usercontrols视图和视图模型的引用的列表中执行相同操作?

请教我一个实现这个目标的最佳方法.

**答案:**

我得到了我需要的答案.首先,应创建视图模型的通用类型集合 C# - 一个列表中的多个泛型类型

public abstract class Metadata
{
}

public class Metadata<DataType> : MetaData where DataType : class
{
private DataType mDataType;
}
List<Metadata> metadataObjects;
metadataObjects.Add(new Metadata<tab1ViewModel>());
metadataObjects.Add(new Metadata<tab2ViewModel>());
Run Code Online (Sandbox Code Playgroud)

如果要使用相同的viewmodel引用多个视图,则创建一个DataTemplate选择器,或者只应用DataTemplate

c# data-binding wpf mvvm

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

标签 统计

c# ×3

.net ×2

wpf ×2

data-binding ×1

linq ×1

mvvm ×1

resx ×1