我有一个屏幕数字键盘来输入PIN码.我想要做的是在输入四位数的PIN时禁用按钮.我当然可以很容易地使用代码执行此操作,但在我看来,这应该是绑定应该完成的事情.
就像是:
<Button Style="Whatever" IsEnabled="{Binding ElementName=PinBox ???}"/>
Run Code Online (Sandbox Code Playgroud)
似乎没有办法做到这一点(说实话对我来说似乎相当原始.)所以我考虑了替代方案,它是底层Window类的普通属性.但我不确定如何绑定它.我是否需要将类本身指定为自己的数据上下文,还是需要将PIN字符串提取到视图模型中?
接下来,如何获取plain属性来更新GUI?
我想我可以定义一个视图模型类,并且有一个名为"ButtonsEnabled"的依赖项属性,但对于这样一个简单的问题,它似乎有点重量级.
如果我错过了什么,请告诉我.
我试图定义一个泛型函数来给出一组参数的最大值.它是这样的:
public static TResult Max<TResult>(params TResult[] items)
{
TResult result = items[0];
foreach (var item in items)
{
if (item > result)
result = item;
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
这一切都很好,除了编译器在"item> result"行上出现问题.我需要的是一种约束TResult有一个>运算符(或<也可以工作)的方法.但是,我没有看到任何现成的接口来执行此操作.由于这是部分排序,这似乎是一项非常常见的任务.我在巨大的.NET文档中遗漏了什么吗?
如何确定GIF图像中的特定像素在C#中是否透明?我可以在Bitmap中看到MakeTransparent方法,但没有什么可以确定它是否已经是透明的.
谢谢.