C# Bing WPF图钉控件将切断内容
尝试选项1 如何使图钉的内容溢出图钉图标。似乎我只能显示非常小的文本,适合在图钉。我尝试过简单地将内容值设置为text,创建一个TextBlock并将TextBlock设置为content,但都得到了相同的结果C# Bing WPF图钉控件将切断内容,c#,wpf,controltemplate,bing-maps,C#,Wpf,Controltemplate,Bing Maps,尝试选项1 如何使图钉的内容溢出图钉图标。似乎我只能显示非常小的文本,适合在图钉。我尝试过简单地将内容值设置为text,创建一个TextBlock并将TextBlock设置为content,但都得到了相同的结果 pushpin.Background = new SolidColorBrush(Colors.Yellow); pushpin.Foreground = new SolidColorBrush(Colors.Black); TextBlock ppContent = new TextB
pushpin.Background = new SolidColorBrush(Colors.Yellow);
pushpin.Foreground = new SolidColorBrush(Colors.Black);
TextBlock ppContent = new TextBlock();
//ppContent.TextWrapping = TextWrapping.WrapWithOverflow;
ppContent.Text = "heyyyyyyyy yyyyyyyyy";
ppContent.Width = 333;
ppContent.Height = 333;
pushpin.Content = ppContent ;
pushpin.Tag = pinLabel;
pushpin.Location = location;
正如您在上图中看到的,文本已被截断
尝试选项2
我尝试的另一个方法是定义一个ControlTemplate
。通过在应用程序中定义控制模板
,我可以成功地使ControlTemplate显示一个新图标。参考资料
:
<ControlTemplate x:Key="PushPinTemplate">
<Grid>
<TextBlock Name="textBlock1" Text="{Binding Content}" Grid.Column="0" Grid.Row="0" Foreground="Black"></TextBlock>
<Rectangle Width="10" Height="10" Margin="0 35 0 0">
<Rectangle.Fill>
<ImageBrush ImageSource="pack://application:,,,/Images/DragHandleWhite.gif"/>
</Rectangle.Fill>
</Rectangle>
</Grid>
</ControlTemplate>
现在的问题是,我无法从代码隐藏访问textBlock1
,将值设置为“heyyyyyyyyy”
非常感谢您的帮助,我已经在这个问题上纠缠了很长时间:(对于选项二:将TextBlock的文本绑定更改为
Text="{TemplateBinding Content}"
然后只需更改图钉的内容属性即可更改文本
编辑:
确保ControlTemplate具有正确的TargetType集。在您的情况下,它应该是Pushpin。在XAML中,使用其他命名空间映射(其中显示xmlns),您需要添加:
xmlns:maps="clr-namespace:Microsoft.Maps.MapControl.WPF";assembly=Microsoft.Maps.MapControl.WPF"
那么你的目标类型应该是
TargetType="maps:Pushpin"
当我这样做时,我得到了一个错误:错误1在类型“Control”上找不到静态成员“ContentProperty”。编辑了我的答案。我相信你需要在你的ControlTemplate上设置TargetType。我假设它是pushpin,但当我将其设置为类型时,我得到的类型引用找不到名为“pushpin”的公共类型。请确保你添加了任何内容您已将命名空间映射到。请看我的答案,以获取一个示例。您的名称可能/将不同于我的名称。我添加了对名为“Microsoft.Maps.MapControl.WPF”的dll的引用,但当我尝试“Microsoft.Maps.MapControl.WPF.Pushpin”时,它无法编译。表示找不到名为“Microsoft.Maps.MapControl.WPF.Pushpin”的公共类型
TargetType="maps:Pushpin"