具有数据绑定的列表框中的自定义计算字段

本文关键字:自定义 计算 字段 列表 数据绑定 | 更新日期: 2023-09-27 18:34:17

我正在制作我的第一个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);
      }
    }

如果您认为这仍然不适用,那么您可以使用转换器。