我正在设计一个应用程序,我基本上想在其中加载使用路径定义的地理 map (国家概况)。
map 应该显示在我的窗口上,当我将每个国家/地区悬停在 map 上时,它应该会改变颜色。
我设法通过将 svg 映射导出到 xaml 并将此 xaml 包含在自定义用户控件中来部分完成此操作。我当前的代码很像用于设计 THIS 的代码.
但是,我现在想以这样一种方式修改软件:
a) 在运行时加载不同的 map ;因此应该有一种方法可以在运行时将路径加载到我的控件中。
b) 以某种形式的 xml 文件格式获取 map 信息,这不仅允许我存储 map 图形,还允许我存储其他内容/信息的附加数据 block 。
我真的是 WPF 的新手,完全不知道如何去做......
最佳答案
作为起点,您可以考虑将 xaml 文件动态加载到窗口中。例如,从您的 Window 类代码中,您可以执行此操作(请参阅 System.Windows.Markup 中的 XamlReader):
FileStream s = new FileStream("code.xaml", FileMode.Open);
DependencyObject root = (DependencyObject)XamlReader.Load(s);
this.Content = root;
Button button1 = (Button)LogicalTreeHelper.FindLogicalNode(root, "button1");
button1.Click += button1_Click;
从名为 code.xaml 的文件加载 xaml 并附加到该 xaml 文件中包含的名为 button1 的按钮的点击事件:
<StackPanel
xmlns=
"http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<Button Name="button1" Margin="30">click me.</Button>
</StackPanel>
请注意,code.xaml 中的代码并未完整描述窗口,只是描述了窗口的内容(即 StackPanel 是顶级元素)。
我敢肯定这与您要找的还相去甚远,但希望对您有所帮助!
关于c# - 动态WPF地理 map 显示用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1282698/