我有一个应用程序,它使用两个滑块生成代码中其他地方使用的产品.我想要的是将产品值绑定到文本块或工具提示,例如,看起来像"10 x 15 = 150".
第一部分很简单,看起来像这样:
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} x {1}">
<Binding ElementName="amount_slider" Path="Value" />
<Binding ElementName="frequency_slider" Path="Value"/>
</MultiBinding>
</TextBlock.Text>
Run Code Online (Sandbox Code Playgroud)
但是,将产品放在那里的简单方法是什么?
使用Pavlo Glazkov的解决方案,我将其修改为如下所示:
public class MultiplyFormulaStringConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
var doubleValues = values.Cast<double>().ToArray();
double x = doubleValues[0];
double y = doubleValues[1];
var leftPart = x.ToString() + " x " + y.ToString();
var rightPart = (x * y).ToString();
var result = string.Format("{0} = {1}", leftPart, rightPart);
return result;
}
public …
Run Code Online (Sandbox Code Playgroud) SendKeys.SendWait()只是一个包装器,这两个代码片段是相同的吗?
const int VK_ESCAPE = 0x1B;
keybd_event(VK_ESCAPE, 0, 0, 0);
keybd_event(VK_ESCAPE, 0, KEYEVENTF_KEYUP, 0);
Run Code Online (Sandbox Code Playgroud)
和
System.Windows.Forms.SendKeys.SendWait("{ESC}");
Run Code Online (Sandbox Code Playgroud)
如果没有,是否有任何理由使用一个而不是另一个?