c# - 在单个事件中访问通用发件人的属性 (wpf)
问题描述
我制作了一个包含不同颜色名称的树视图。每种颜色都有其各自的前景(例如,具有 Header="Red" 的树项目视图也有 Foreground="Red")
现在,我想根据用户双击的项目来改变窗口的背景颜色。例如,如果用户单击“红色”,则窗口背景变为红色。
另外,我只想创建一个命令/事件来执行此操作,因此所有树视图项的 MouseDoubleClick 属性都可以使用它。
有没有办法在代码隐藏中访问项目的前景?
我正在尝试以下方法,但它不起作用:
public void ColorChanger(object sender, MouseButtonEventArgs e)
{
this.Background= sender as TreeViewItem.Foreground;
}
解决方案
这应该可以工作,前提sender
是TreeViewItem
:
public void ColorChanger(object sender, MouseButtonEventArgs e)
{
if (sender is TreeViewItem menuItem)
this.Background = menuItem.Foreground;
}
推荐阅读
- python - Python有条件地从dict中获取价值?
- java - 将多个 JSONArray 中的 JSONObject 组合成 Java 中的单个 JSONArray
- polymer - 如何对聚合物上的字母下拉数据进行排序
- javascript - 如何使用 JavaScript 捕获 img 像素跟踪请求?
- corda - 3rd 方可以检查他不知道的状态,并将此状态添加到流中作为输入状态吗?
- sql - 如何遍历表并更新多行
- odoo - Odoo 使用 onchange 事件两次将记录添加到 one2many 字段
- javascript - VueJs highstock 无法正确绘制图形
- javascript - 路由到页面而不是Angular中的组件
- database-design - 如何在数据库中建模用户的活动?