gpt4 book ai didi

wpf - 在后面的 WPF 代码中设置事件处理程序

转载 作者:行者123 更新时间:2023-12-02 22:40:31 25 4
gpt4 key购买 nike

我的 WPF 程序使用具有 WPF map 控件的第三方 map 包。我的程序需要能够在没有安装此软件的系统上运行,并且需要足够智能以识别何时安装了该软件并使用它。这意味着我不能在表单的 XAML 文件中包含 map 控件的任何 XAML,否则将引发 XAML 解析异常。

我有一种方法可以确定软件是否已安装。在我的程序的初始化代码中,如果安装了 map 软件,我将名为 MapsAreInstalled 的 Application 对象的属性设置为 true,如果未安装,则将其设置为 false。

在我的表单(一个 UserControl)中,我添加了对 OnApplyTemplate 方法的重写。这将检查 MapsAreInstalled 属性的值,如果值为 true,则创建一个新的 map 控件。这是在我不得不改变我的方法变得明显之前我用来创建此控件的 XAML:

<telogis:MapControl ButtonBase.Click="CarImage_Click"
Canvas.Left="0"
Canvas.Top="0"
Center="41.366674544084,-73.6112966322899"
DragBehavior="None"
Heading="0"
Height="{Binding ElementName=ChannelCanvas, Path=ActualHeight}"
MapQuality="Perfect"
Name="ReadMap"
Perspective="TwoD"
RenderLabels="True"
UiEnable="True"
Width="{Binding ElementName=ChannelCanvas, Path=ActualWidth}"
Zoom="50" />

我知道如何在 ButtonBase.Click 事件处理程序之外的代码中初始化所有这些属性。如何在代码隐藏中进行设置?

托尼

最佳答案

我找到了这个问题的答案:

RoutedEventHandler clickHandler = MyClickHandler;
mapCtrl.AddHandler( ButtonBase.ClickEvent, clickHandler );

还是谢谢你

关于wpf - 在后面的 WPF 代码中设置事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10840487/

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