0

WCF を使用して SQL サーバーからデータを取得する Windows Phone アプリケーションがあります。データは ListBox に入り、Status という名前の列があります。列のステータスは、数字の代わりに画像を表示する必要があります。成功の場合は 0、警告の場合は 1、アラームの場合は 2 と表示されます。誰かが私を正しい方向に向けることができますか? ありがとう。

MainPage.xaml.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using NSSPhoneApp.NSSServiceReference;
using System.ServiceModel;

namespace NSSPhoneApp
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();
            this.Loaded += new RoutedEventHandler(MainPage_Loaded);
        }

        void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
            NSSServiceClient client = new NSSServiceClient();
            client.GetAllServer_LogsCompleted +=
                new EventHandler<GetAllServer_LogsCompletedEventArgs>(client_GetAllServer_LogsCompleted);
            client.GetAllServer_LogsAsync();
        }

        void client_GetAllServer_LogsCompleted(object sender, GetAllServer_LogsCompletedEventArgs e)
        {
            if (e.Error == null)
            {
                lst.ItemsSource = e.Result;
            }
        }
    }
}

MainPage.xaml のみ ContentPanel

    <!--ContentPanel - place additional content here-->
    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <ListBox Height="Auto" HorizontalAlignment="Stretch" Margin="0,0,0,6" Name="lst" VerticalAlignment="Stretch" Width="Auto">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="{Binding Status}" Margin="12,0,12,0"/>
                        <TextBlock Text="{Binding Name}" Margin="12,0,12,0"/>
                        <TextBlock Text="{Binding IP}" Margin="12,0,12,0"/>
                        <TextBlock Text="{Binding Task}" Margin="12,0,12,0"/>
                        <TextBlock Text="{Binding Message}" Margin="12,0,12,0"/>
                        <TextBlock Text="{Binding Time}" Margin="12,0,12,0"/>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </Grid>
</Grid>
4

1 に答える 1

0

テストされていない場合は、画像を適切に表示する方法を理解する必要があります。

listBox.Controls.Add(new Label() { Text = "Status: ", Image = System.Drawing.Image.FromFile(status == "0" ? "succes.png" : status == "1" ? "warning.png" : "alarm.png") });
于 2012-08-21T10:42:36.093 に答える