小编Kla*_*s78的帖子

C#应用程序中的Web颜色列表

你好,无论如何

例如,如果我使用Visual Studio在Winform中设置Panel的BackColor,我可以从3个列表中选择颜色:

自定义,Web,系统

是否有可能只在我的C#代码应用程序中检索Web颜色?它们是KnownColor的一部分,但到目前为止我只能找到如何从列表中删除系统控制.

我想使用网页颜色,因为它们以一种很好的方式排序,我想将它们插入一个自我实现的组合框中.

谢谢

c# colors

7
推荐指数
2
解决办法
2万
查看次数

IDataErrorInfo调用绑定对象而不是DataContext

我有一个模特:

public class Product
{
    public int Rating { get; set; }
    ...
}
Run Code Online (Sandbox Code Playgroud)

和视图模型:

public class ProductViewModel: IDataErrorProvider
{
    public int Temperature { get; set; }
    public Product CurrentProduct { get; set; }

    public string this[string columnName]
    {
        get
        {
            if (columnName == "Rating")
            {
                if (CurrentProduct.Rating > Temperature)
                    return "Rating is too high for current temperature";
            }
            return null;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的视图有一个ProductViewModel实例作为DataContext.该视图具有以下字段:

<TextBox Text={Binding Path=CurrentProduct.Rating, ValidatesOnDataErrors=True} .../>
Run Code Online (Sandbox Code Playgroud)

默认情况下,验证发生在绑定对象(Product)的IDataErrorProvider上,而不是DataContext(ProductViewModel).因此,在上面的实例中,从不调用ProductViewModel验证.这只是一个简单的例子,但说明了问题.该模型不会(也不应该)知道温度,因此设计要求VM应该在该字段上执行验证.

是的,我可以破解它并直接在ViewModel中复制模型的绑定属性,但我认为必须有一种更简单的方法将调用重定向到VM而不是模型?

c# wpf mvvm

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

标签 统计

c# ×2

colors ×1

mvvm ×1

wpf ×1