0
我已經爲WPF ListBox
編寫了DataTemplate
。但是,當我用我的3,佈局改變2個特定圖標:WPF/C#DataTemplate更改圖標的佈局原因
http://i.stack.imgur.com/xMp7F.png
這是我ItemTemplate
:
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding id}" Name="tbID" Margin="5" FontWeight="Bold" FontSize="12" Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center" />
<Image Height="25" Width="25" Source="{Binding img_src}" HorizontalAlignment="Center" Grid.Column="1" />
<StackPanel Margin="10, 0, 0, 0" Grid.Column="2" Orientation="Vertical" >
<TextBlock FontWeight="Bold" FontSize="11" Text="{Binding errorOriginal}"/>
<TextBlock FontSize="10" Text="{Binding errorGerman}" />
<!-- Margin="10, 0, 0, 0" -->
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
這是我的課:
public class compEntry
{
public int id { get; set; }
public string img_src { get; set; }
public string errorOriginal { get; set; }
public string errorGerman { get; set; }
}
請告訴我關於我的錯誤。
//編輯: 當我手動填寫我的類(無弦)工作原理:
compList.Add(new compEntry() { id = i, img_src = img, errorOriginal = errText[i], errorGerman = trans }); // not working
compList.Add(new compEntry() { id = i, img_src = img, errorOriginal = "test", errorGerman = "test" });//working
// EDIT2: 找到了解決辦法。只是修剪字符串:
compList.Add(new compEntry() { id = i, img_src = img, errorOriginal = errText[i].Trim(), errorGerman = trans.Trim() });
所有圖像的大小是否相同? – OneFineDay
是的。它們都有26x26的大小。即使我刪除了我的模板圖像,佈局錯誤仍然存在 – Giraffe
這看起來有點奇怪......我能想到的唯一可能的解釋是錯誤文本在最後有換行符。 – McGarnagle