我有一个WP 8.1应用程序。我正在遵循完整的MVVM设计模式。在XAML代码中
<Grid>
<Canvas x:Name="gameCanvas"
Width="{Binding CanvasWidth,
Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}">
<ItemsControl ItemsSource="{Binding Path=ButtonItems,
Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}">
<ItemsControl.ItemTemplate>
<DataTemplate x:Name="Dta">
<Button x:Name="newsItemBtn"
Height="{Binding Height}"
Width="{Binding Width}"
Style="{StaticResource ButtonStyle2}"
Content="{Binding Content}"
Command="{Binding
Path=DataContext.ButtonClickCommand,
ElementName=gameCanvas}"
CommandParameter="{Binding Content}">
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Canvas>
但我想要的是在运行时动态分配按钮的样式。
我在GamePage.XAML.
<Style x:Key="ButtonStyle1" />
<Style x:Key="ButtonStyle2" />
<Style x:Key="ButtonStyle3" />
现在根据ViewModel
上的某些值或某些属性,我想选择按钮样式
我尝试使用converter
。但没有多大成功。
我知道如何实现这一目标?
答案 0 :(得分:1)
有一次,我需要做同样的事情,我只使用了一个转换器,它返回了一个命名资源:
Have a "warmup phase" of your application that does a dlsym() lookup on every function;
Use static libraries instead of shared libraries;
Set LD_BIND_NOW=1 and force the loader to do the PLT fixups at startup;
Use the "-z now" option on your linker (if you have it available).
我猜它可以通过密钥识别的资源以相同的方式工作。