我正在制作我的第一个Windows Phone 7应用程序,它几乎完成了,除了我的列表框中的计算字段。
我有一个包含 id、名称和整数的数据库。我正在使用 MVVM 模式。根据具有一些计算的函数,我希望将 YES 或 NOT 显示为我的 ListBox 第一个字段的值,而第二列的名称很简单。如何显示第一个字段?
这是我此刻的代码(对于列表框):
<ListBox x:Name="lstPills" Grid.Row="1" ItemsSource="{Binding AllItems}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Stretch" Width="440">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="90" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Border Height="36" Width="60" CornerRadius="5" Background="Grey">
<TextBlock Text="HERE GOES YES or NOT" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="28"/>
</Border>
<TextBlock
Text="{Binding Name}"
FontSize="{StaticResource PhoneFontSizeLarge}"
Grid.Column="1"
VerticalAlignment="Center"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我有一个带有进行计算的函数的类(只是一个示例):
public static bool isRight(int value)
{
return (Math.Abs(value) % 2 == 0 ? true : false);
}
有没有办法使用 XAML 中的绑定参数调用此函数,以便它反映结果?像这样:
<TextBlock Text="isRight(Binding myvalue)"/>
我还有我的模型和视图模型。
尝试绑定此 isRight 属性
private int _lookupValue;
public bool isRight
{
get {
return (Math.Abs(_lookupValue) % 2 == 0 ? true : false);
}
}
如果您认为这仍然不适用,那么您可以使用转换器。