2015-12-10 22 views
0

好日子獲取SQL /的LINQ查詢變量在一個列表框

知道如果任何人可以幫助顯示3位小數多類型變量的項目。 我打算使用通常的SQL在XAML列表框

<ListBox Name="listChems" Height="200" Width="300" HorizontalAlignment="Left" Margin="0,5,0,0" ScrollViewer.VerticalScrollBarVisibility="Visible"> 
      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <StackPanel Orientation="Horizontal" Height="18" VerticalAlignment="Top" > 
         <TextBlock Text="{Binding ChemCat}" Margin="10,0,0,0" Width="90" FontSize="14"/> 
         <TextBlock Text="{Binding ChemName}" Margin="10,0,0,0" Width="90" FontSize="14"/> 
         <TextBlock Text="{Binding ChemWeight}" Margin="10,0,0,0" Width="60" FontSize="14"/> 
        </StackPanel> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 
</ListBox> 

的形式顯示包含的項目的行以下

public class Product 
{ 
    [PrimaryKey, AutoIncrement] 
    public int ChemID { get; set; } 
    public string ChemCat { get; set; } 
    public string ChemName { get; set; } 
    public double ChemWeight { get; set; } 
} 

/Linq查詢

private void btnDisplayAll_Click(object sender, RoutedEventArgs e) 
    { 
     var display = conn.Table<Product>() 
     .Select(g => g); 

     listChems.ItemsSource = display; 
    } 

CHEMCAT和ChemName純屬字符串,例如。鑭系元素和釹。

然而,我需要有ChemWeight(double類型)被顯示在3個小數,即使用戶提供了許多具有0或1或2位小數,即。

1 to be displayed as 1.000 
1.4 to be displayed as 1.400 
1.42 to be displayed as 1.420 

如何獲得SQL /的LINQ查詢變量「顯示」給力{結合ChemWeight}顯示3位小數,考慮到其他成員CHEMCAT和ChemName是字符串,在一個他們都綁在一起列表框。

(此前發帖說ChemPrice,它的意思是ChemWeight) 非常感謝。

回答

0

對於WPF
使用StringFormat屬性的綁定。

<TextBlock Text="{Binding ChemPrice, StringFormat={}{0:0.000}}" Margin="10,0,0,0" Width="60" FontSize="14"/> 

對於WinRT的 使用IValueConverter

public class StringFormatConverter : IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, string language) 
    { 
     return string.Format((string)parameter, value); 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, string language) 
    { 
     throw new NotImplementedException(); 
    } 
} 

請注意,您需要指定轉換器爲您的控件或窗口。

<UserControl.Resources> 
    <local:StringFormatConverter x:Key="Converter"></local:StringFormatConverter> 
</UserControl.Resources> 

<Grid> 
    <TextBlock Text="{Binding ChemPrice, Converter={StaticResource Converter}, ConverterParameter=\{0:0.00\}}" Margin="10,0,0,0" Width="60" FontSize="14"/> 
</Grid> 
+0

感謝您的早日答覆。我所說的「綁定」和「的StringFormat」和錯誤消息稱「物業「的StringFormat下方波浪線綁定‘型未找到’。我錯過了什麼? – Shycs

+0

對不起冷落的'{}'從'StringFormat'的開始 - 再試 – sQuir3l

+0

我希望我能粘貼展示具有相同波浪線下結合的StringFormat和出現的相同的錯誤消息快照映像。我使用VS 2015年快遞爲Windows 10 – Shycs