来自另一个 xaml 的操作

本文关键字:操作 xaml 另一个 | 更新日期: 2023-09-27 18:36:16

>我有很多xaml文件,需要使用一些我不想复制代码的函数:

main.xaml.cs

 void gotoUrL(..){}
 void goroUsers(..){}
main.xaml
 <Image Tap="gotoUrl">..

我该怎么做? 某事.xaml

<Image Tap="gotoUrl">
/

/gotoUrl 引用自 main.xaml.cs

来自另一个 xaml 的操作

一种方法是你写一个单独的帮助程序类:Helper.cs 。 (您可以将其设置为静态)。在 Helper.cs 中,您可以放置所有不想复制的功能。然后调用该特定的帮助程序类函数:从main.xaml.cssomething.xaml.csgotoUrl()方法Helper.gotoUrl()。您的代码不再重复。

你有几个选项与UserControls..如果您只需要对将保持不变的特定图像执行此操作,则可以简单地使用其中包含图像进行新UserControl

如果函数可能有所不同,您可以创建一个类似(我们称之为GoToUrlControl)的UserControl

//all the xaml at the top of the file
x:Name="Control">
<Grid Tap="OnTapped">
   <ContentControl Content="{Binding Path=Body, ElementName=Control}"/>
</Grid>

然后,在后面的代码中,创建一个DependencyProperty(键入 propdp 并按两次tab)将其命名为Body

最后,若要在任何 xaml 页面上使用它,请添加 xaml 引用,以及类似

<myControls:GoToUrlControl>
   <GoToUrlControl.Body>
      <//put any content here here />
   </GoToUrlControl.Body>
</myControls:GoToUrlControl>

我不在一台可以给你完整工作代码的电脑上,但这个链接应该填补缺失的部分。

如何实现依赖项属性