如何将stackpanel绑定到某个变量?

时间:2011-06-22 06:36:49

标签: wpf silverlight

在我的应用程序上,我有3个堆叠面板,它们的可见性绑定到3个单选按钮 - 如果选中单选按钮A => stackpanel A1可见......

我想定义一个将调用CurrentStackPanelInFocus的变量,该变量将绑定到可见的stackpanel。

我不知道该怎么做。 我知道如何编写转换 - 但我不知道如何进行绑定。

感谢您的帮助。

(代码是silverlight)

1 个答案:

答案 0 :(得分:1)

如果我正确地阅读您的问题...根据您看到数百次的标准转换器创建可见性转换器,然后进行以下更改:

  • 使用枚举3状态值(例如enum StackPanelType{ Panel1, Panel2, Panel3}
  • 将每个面板绑定到同一个变量(例如{Binding Path=CurrentStackPanelInFocus...}
  • 在每个绑定中指定一个转换器参数,以您要匹配的枚举值命名 例如{Binding Path=CurrentStackPanelInFocus, Convertor="{StaticResource PanelConverter}" ConverterParameter="Panel1"}
  • 在转换器中检查传递的值对象是否为枚举类型
  • 将值转换为枚举,然后检查字符串版本是否与参数
  • 匹配
  • 如果参数与枚举匹配则返回可见,否则返回折叠