Вот мой xaml:
<StackPanel Height="333">
<Canvas x:Name="imageCanvas"
RenderOptions.BitmapScalingMode="NearestNeighbor"
RenderOptions.EdgeMode="Aliased">
<Canvas.Background>
<ImageBrush x:Name="image1"
Stretch="None"
AlignmentX="Left"
AlignmentY="Top">
</ImageBrush>
</Canvas.Background>
</Canvas>
<Canvas x:Name="overlayCanvas">
<Rectangle Name="dummyRectangle" Width="1" Height="2" Fill="Transparent" />
</Canvas>
</StackPanel>
Вот мой код на С#:
void PlayImages()
{
string testImageFolder = "C:\\TestImages";
DirectoryInfo d = new DirectoryInfo(testImageFolder);//Assuming Test is your Folder
FileInfo[] Files = d.GetFiles("*.tif"); //Getting Text files
image1.ImageSource = new BitmapImage(new Uri("C:\\TestImages\\ChanA_0001_0001_0001_0001.tif"));
}
Однако, когда код С# выше был выполнен, в пользовательском интерфейсе ничего не произошло. Мне интересно, где я должен измениться, чтобы изображение появилось? Благодарю.
Это проблема с панелью стека. Я не уверен, почему, но если некоторые из них удалены, то изображение появляется. Xaml с удаленным ударом стека выглядит следующим образом:
<StackPanel HorizontalAlignment="Left">
<!--Controls:MenuControl/-->
<Controls:ToggleButtonControl Margin="0,0,0,0" Height="43" RenderTransformOrigin="0.5,-0.233" />
</StackPanel>
<Canvas x:Name="imageCanvas"
RenderOptions.BitmapScalingMode="NearestNeighbor"
RenderOptions.EdgeMode="Aliased" Margin="0,52,0,0">
<Canvas.Background>
<ImageBrush x:Name="image1"
Stretch="None"
AlignmentX="Left"
AlignmentY="Top"
ImageSource="{Binding Path=Bitmap, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
</ImageBrush>
</Canvas.Background>
</Canvas>
Ваш imageCanvas
всегда имеет ширину и высоту ноль, потому что вы не добавляете ни одного из детей, не imageCanvas
его Width
или Height
явно.
Измените свой XAML, чтобы вместо него использовать только один холст, и, при необходимости (в зависимости от внешнего контейнера и добавляемых детей) установите его свойства Width
и Height
:
<Canvas x:Name="overlayCanvas" Height="333" Width="500">
<Canvas.Background>
<ImageBrush x:Name="image1" ... />
</Canvas.Background>
<Rectangle ... />
</Canvas>
C:\\Development2012\\ThorImage\\TIS_Development\\GUI\\Controls\\OverlayManager\\TestImages\\ChanA_0001_0001_0001_0001.tif
есть ли там изображение?