有没有机会在xaml中设置事件处理程序而不使用c#,powershell等?例如,我想在点击后设置另一个控件的文本.下面是我想要做的"伪代码":
<Button Content="Set value = text1" OnClick="txt1.Text = text1" />
<Button Content="Set value = text2" OnClick="txt1.Text = text2" />
<Textbox Name="txt1" />
Run Code Online (Sandbox Code Playgroud)
您可以在xaml中编写内联c#.虽然这只是你应该不惜一切代价避免的东西.如果你绝对必须,你可以这样做:
<StackPanel>
<Button Content="Set value = text1" Click="InlineHandler" />
<Button Content="Set value = text2" Click="InlineHandler" />
<TextBox Name="txt1" />
<x:Code>
<![CDATA[
private void InlineHandler(object sender, RoutedEventArgs e) {
var btn = sender as Button;
if (btn == null)
return;
txt1.Text = btn.Content.ToString() == "Set value = text1" ? "text1" : "text2";
}
]]>
</x:Code>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
简单来说,您只需在xaml中内联定义事件处理程序,而不是在代码隐藏中定义.
再这样做不会,除非你证明一个点采取这种做法.
归档时间: |
|
查看次数: |
3381 次 |
最近记录: |