可以说,我们有一个名为MyClass如何从事件参数中获取源实例?
public class MyClass
{
public bool MyProperty {get;set;}
}
I类连接MyClass的名单到ListView(DataContex等)。
为了让MyClass项目看起来不错,我在listView资源中定义了一个DataTemplate。
<DataTemplate DataType="x:type local:MyClass">
我增加了一个膨胀器在每DataTemplate中的每一行。我添加了一个事件。
<Expander IsExpanded="Expander_Expanded_Method">
在代码中,我有一个方法 -
private void Expander_Expanded_Method(object sender, RoutedEventArgs e)
{
// implement
}
我怎样才能获得MyClass的项目的instace改变它的价值myProperty的?
我曾尝试使用:
private void Expander_Expanded_Method(object sender, RoutedEventArgs e)
{
(sender as MyClass).MyProperty = something; // doesn't work :-(
(e.Source as MyClass).MyProperty = something // doesn't work :-(
}
我发誓,我搜索了这件事小时,我并没有发现线索......
我试过也(如B计划),以找到如何的MyClass myProperty的XAML中通过
IsExpanded={binding Path=MyProperty, Mode ="TwoWays"}
改变一个例子,但它并没有提前
工作,要么... 谢谢编辑
作为谢里登建议我会添加更多信息。我会尽力让它很简单:
- 我有一个ListView UI
- 并插入ListView的
- 每一个MyClass的实例内内的MyClass的
- 的MyClass的名单列表存在的MyOtherClass
- 的MyOtherClass情况下列表中也插入ListView控件内
- 所以 - 我们有一个ListView有2种物品,MyClass的& MyOtherClass
- 每MyClass的内部有一个扩展(与DataTemplate中完成了...)
- 我想,在膨胀状态(展开/ unexpand)将是当前MyClass的内部MyOtherClass项目可见/折叠
谢谢!
请解释你是什么*实际*尝试做什么......当扩展器被展开时,你试图将属性更改为什么值? – Sheridan
嗨。 MyClass具有同样列表视图中的项目列表。每个项目绑定到MyProperty以设置其可见性。我希望当我扩展扩展器时,项目将会崩溃。我设法做到了这一切。只需要像我提到的那样通过扩展器来设置我的属性,并且会很棒!谢谢 – galhajaj