gpt4 book ai didi

c# - 需要 DependencyPropertyDescriptor 帮助

转载 作者:太空宇宙 更新时间:2023-11-03 10:24:23 24 4
gpt4 key购买 nike

我有一个简单的 WPF 应用程序,其中有一个组合框和一个标签,使用依赖属性我想在标签中显示所选项目,当用户选择组合框中的任何项目时,标签将相应更改。这是我的代码。

    public event EventHandler _itemChanged;
public MainWindow()
{
List<String> items = new List<string>();
items.Add("C");
items.Add("C++");
items.Add("C#");
items.Add("Java");
items.Add("Js");
InitializeComponent();
combx.ItemsSource = items;
_itemChanged += MainWindow__itemChanged;
DependencyPropertyDescriptor dpcombx;
dpcombx =
DependencyPropertyDescriptor.FromProperty((DependencyProperty)
ComboBox.SelectedValueProperty, typeof(ComboBox));

dpcombx.AddValueChanged(dpcombx, _itemChanged);
}
void MainWindow__itemChanged(object sender, EventArgs e)
{
ComboBox cb = (ComboBox) sender;

lbl_Combx.Content = (string)cb.SelectedItem;
}

问题是,EventHandler 没有被调用。请帮助我。

这是 XAML

<Window x:Class="DP.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ComboBox Name="combx"
HorizontalAlignment="Left"
Margin="57,121,0,0"
VerticalAlignment="Top"
Width="120" />
<Label Content=""
x:Name="lbl_Combx"
HorizontalAlignment="Left"
Margin="368,182,0,0"
VerticalAlignment="Top" />

</Grid>
</Window>

最佳答案

您需要在 AddValueChanged 中传递依赖对象 (comboBox) 而不是其属性描述符。

dpcombx.AddValueChanged(combx, _itemChanged);

关于c# - 需要 DependencyPropertyDescriptor 帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32168082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com