현재 이미지를 추가하려고하는 C# WPF 응용 프로그램과 각 목록 항목의 일부 텍스트가있는 작업을하고 있습니다.ListBox 항목에 이미지 추가
텍스트에 대한 바인딩이 작동하지만 이미지가 표시되지 않습니다. 다음은
class DirectoryListing
{
public string path {get; set;}
public Image image{get; set;}
public DirectoryListing(Image imgage, String path)
{
this.image = image;
this.path = path;
}
}
내가 텍스트가 추가지고
Image image = new Image();
BitmapImage bi = new BitmapImage(new Uri(@"C:\Users\Chris\Documents\Visual Studio 2010\Projects\ServerAdministrator\ServerAdministrator\bin\Debug\images\directory.png"));
image.Source = bi;
lstDirecotryListing.Items.Add(new DirectoryListing(image, "hello"));
목록 상자에 항목을 추가하고 어떻게 다음
<Window x:Class="ServerAdministrator.FtpDirectoryListing"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:ServerAdministrator"
Title="FTP Directory Listing" Height="391" Width="599">
<Grid>
<StatusBar Height="30" Margin="0,322,0,0" Name="statusBar1" VerticalAlignment="Top" />
<ToolBar Height="26" Name="toolBar1" VerticalAlignment="Top" />
<TextBox Height="23" HorizontalAlignment="Left" Margin="12,32,0,0" Name="textBox1" VerticalAlignment="Top" Width="517" />
<ListBox x:Name="lstDirecotryListing" Height="233" HorizontalAlignment="Left" Margin="12,61,0,0" VerticalAlignment="Top" Width="553">
<ListBox.ItemTemplate>
<DataTemplate DataType="{x:Type local:DirectoryListing}">
<StackPanel>
<TextBlock Margin="3" Text="{Binding path}" />
<ContentControl Margin="3" Content="{Binding image}" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Window>
가 내 디렉토리 일 클래스 : 아래
내 XAML입니다 좋지만 이미지가 아닙니다. 어떤 도움
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.ItemsControl', AncestorLevel='1''. BindingExpression:Path=HorizontalContentAlignment; DataItem=null; target element is 'ComboBoxItem' (Name=''); target property is 'HorizontalContentAlignment' (type 'HorizontalAlignment') System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='System.Windows.Controls.ItemsControl', AncestorLevel='1''. BindingExpression:Path=VerticalContentAlignment; DataItem=null; target element is 'ComboBoxItem' (Name=''); target property is 'VerticalContentAlignment' (type 'VerticalAlignment')
감사합니다 당신이
UPDATE
I를 제공 할 수가 관련이 있는지
는 잘 모르겠어요하지만 난 VS2010에서 콘솔 출력에 다음과 취득 클레멘스 (Clemens)의 대답 덕분에 그 경로가 이미지의 경로가 아니라 어쨌든 이미지와 텍스트를 표시하는 것과 동일한 두 변수를 사용하고 있습니다.
문제는 텍스트가 표시되고 그림이 아래에 있으며, 그림과 텍스트를 나란히 표시해야하는 이유는 무엇입니까?
public class DirectoryListing
{
public string Name { get; set; }
public string Path { get; set; }
}
을이에 DataTemplate을 변경 :
예외는이 문제와 관련이없는 콤보 상자 항목의 HorizontalContentAlignment입니다. 코드가 멋지게 보이므로 좀 더 살펴보고 대답을 얻으시기 바랍니다. – BradleyDotNET
'ComboBoxItem'이 정의 된 곳에'XAML '을 게시 할 수 있습니까? –
다시 보았습니다. 콤보 상자에 대한 메시지는 문제가있는 이전 대화가 아닌 이전 대화 용입니다. – Boardy