.xaml文件代码:
<window>
<window.resources>
<DataTemplate x:Key="backTemplate"> <Border BorderBrush="#55FFFFFF" Background="AliceBlue" BorderThickness="1" CornerRadius="5"> <GroupBox Name="mapgroup" Header="WPFMAP" Margin="12,27,241,12" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch"> <Grid> <my:GMapControl Name="MainMap"/> </Grid> </GroupBox> </Border> </DataTemplate>
</window.resources>
<Border Name="border"> <略写> </Border>
</window>
.cs文件代码: private void Convertmap_Click(object sender, RoutedEventArgs e) { ((GMapControl)border.FindName("MainMap")).Manager.Mode = AccessMode.ServerAndCache; ((GMapControl)border.FindName("MainMap")).DragButton = MouseButton.Left;//鼠标左击拖动地图 ((GMapControl)border.FindName("MainMap")).MapProvider = GMapProviders.BingMap; ((GMapControl)border.FindName("MainMap")).Position = new PointLatLng(32.5149000, 118.78361500); ((GMapControl)border.FindName("MainMap")).MaxZoom = 24; ((GMapControl)border.FindName("MainMap")).MinZoom = 1; ((GMapControl)border.FindName("MainMap")).Zoom = 4; }
这样写动态引用控件,哪里出问题了,怎么改???
3 回答
红糖糍粑
TA贡献1815条经验 获得超6个赞
之前我也遇到过类似的问题,在WPF的书籍中有介绍说在Template中的名称只是在Template内有效,在外面无效,但是可以通过FindName来找到对应的元素,但是遇到和你相同的问题。于是就采用了另外一种方法,通过VisualTreeHelper来做可以实现的。
- 3 回答
- 0 关注
- 554 浏览
添加回答
举报
0/150
提交
取消