2

我正在开发我们的 WP7 应用程序的映射功能。目前图钉显示为圆形图形。

我正在尝试创建功能,以允许用户通过滑动条来更改图钉圆圈的大小。这个想法是用户可以在两种尺寸之间的任意位置更改图钉的尺寸。

因此,我不想在 XAML 中创建 2 或 3 个预定义的图钉模板,而只是在它们之间进行交换 - 我希望能够实时修改模板的属性(特别是椭圆的高度和宽度)当用户滑动一个栏,或按住页面,或其他任何东西时。

然而,我一直在努力做到这一点。

是否可以编辑现有模板的属性?我已经研究过实时创建模板,但这似乎也不是解决方案。

根据客户的不同,页面上显示的图钉数量可能会有很大差异。此外,我们的客户是户外类型,许多人都在为较小的图标而苦恼,而其他人则不然。因此我对这个功能的渴望。

请在下面找到 XAML,我只是希望在运行时更改椭圆的大小。提前感谢您的帮助。

      <ControlTemplate x:Key="PushpinControlTemplate1" TargetType="my:Pushpin">
        <Grid x:Name="ContentGrid" Width="50" Height="50" >
            <StackPanel Orientation="Vertical" >
                <Grid MinHeight="31" MinWidth="29" Margin="0">
                    <Ellipse Fill="#FFFF7F00"
                   Margin="1"
                   HorizontalAlignment="Center"
                   VerticalAlignment="Center"
                   Width="50"
                   Height="50"
                   Stroke="White"
                   StrokeThickness="3"/>
                    <ContentPresenter HorizontalAlignment="Center"
                                       Content="{TemplateBinding Content}"
                                       ContentTemplate="{TemplateBinding ContentTemplate}"
                                       Margin="4"/>
                </Grid>
            </StackPanel>
        </Grid>
    </ControlTemplate>
4

2 回答 2

1

将 Height 属性绑定到 ViewModel 的属性。

   <Ellipse 
           Width="50"
           Height="{Binding ItemHeight}"/>

并在用户滑动栏时更改属性。

于 2012-10-10T20:27:29.747 回答
1
private DataTemplate CreateDataTemplate()
{
    string xaml =
        @"<DataTemplate
        xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation""
        xmlns:x=""http://schemas.microsoft.com/winfx/2006/xaml"">
        <Grid>
            <Rectangle Fill=""LightGreen"" Height=""50"" Width=""250"" />
            <TextBlock Text='{Binding}' FontSize='40' />
            </Grid>       
        </DataTemplate>";
    DataTemplate dt = (DataTemplate)XamlReader.Load(xaml);
    return dt;
}

你可以参考上面的代码...

点击

..................................................... …………………………………………………………………………

绑定你的财产

于 2012-10-11T06:40:13.393 回答