MVVM绑定不适用于WinRT中应用于DataTemplate的样式

时间:2015-06-03 00:33:48

标签: c# wpf mvvm data-binding windows-runtime

我有一个应用程序,我使用MVVM在属性中设置元素的宽度。

我的风格:

<Style x:Key="TileRootSquareGridStyleV2" TargetType="Grid">
         <Setter Property="Width" Value="{Binding DataContext.SquaredTileWidth , Mode=OneWay}" />
        <Setter Property="Height" Value="{Binding DataContext.SquaredTileWidth, Mode=OneWay}" />
    </Style>

我的DataTemplate:

<DataTemplate x:Key="PhoneFeedTemplateV2">
        <Grid Margin="5"  Style="{StaticResource TileRootSquareGridStyleV2}"  >
 <TextBlock Text="{Binding SquaredTileWidth}"  />  
</Grid>
</DataTemplate>

我希望能够重用我的样式TileRootSquareGridStyleV2,但我无法设置属性Width和Height。正确设置了我的对象中的SquaredTileWidth属性,因为当我启动应用程序时,我的文本块会显示一个数字。

有没有人知道我做错了什么?

编辑: 我也尝试过:

<Style x:Key="TileRootSquareGridStyleV2" TargetType="Grid">
         <Setter Property="Width" Value="{Binding SquaredTileWidth , Mode=OneWay}" />
        <Setter Property="Height" Value="{Binding SquaredTileWidth, Mode=OneWay}" />
    </Style>

但没有运气。但是,当我在网格上设置高度和宽度时,它可以工作:

 <DataTemplate x:Key="PhoneFeedTemplateV2">
            <Grid Margin="5"  Width="{Binding SquaredTileWidth}"  Height="{Binding SquaredTileWidth}">
     <TextBlock Text="{Binding SquaredTileWidth}"  />  
    </Grid>
    </DataTemplate>

EDIT2: 好的答案是:Setters不支持绑定....

0 个答案:

没有答案