2014-01-30 2 views
1

Я пытаюсь установить значок, который будет прикреплен к текстовому блоку, когда он будет сохранен, но я не уверен, как это сделать программно. Что я думаю, вы можете установить значение слева от текстового поля к image.I попробовал это, но я не знаю, как я бы поставил его на значок изображения:Как программно добавить изображение в текстовый блок?

NoteGridView.SetValue(Canvas.LeftProperty(double)block.GetValue(Canvas.LeftProperty));

Это, как я добавлять примечания к раскладке:

// Creates a new textblock that for this note. 
TextBlock block = new TextBlock(); 
//block.SetValue 
notepadTxtBox.SetValue(Canvas.LeftProperty, (double)block.GetValue(Canvas.LeftProperty)); 
block.Width = 250; 
block.Height = 125; 
block.Text = notepadTxtBox.Text; 


// Add that note to the grid. 
NoteGridView.Items.Add(block); 

Кто-нибудь знает, как я мог бы это сделать или это можно сделать в коде xaml?

Это может дать лучшее понимание того, что я пытаюсь сделать:

How it currently looks: Trying to add an icon to the left of the note like in this picture:

ответ

3

Вы можете поставить StackPanel внутри TextBlock, содержащий Image, а другой TextBlock, как и :

<TextBlock> 
    <StackPanel Orientation="Horizontal"> 
     <Image Name="YourImage" Source="image/Under-Construction.png" /> 
     <TextBlock Text="Your Text Block Text" /> 
    </StackPanel> 
</TextBlock> 

затем вы сможете установить изображение программным образом:

YourImage.Source = "path.to.image.file" 
+0

Вы уверены, что 'StackPanel' может быть дочерним элементом' TextBlock'? –

+0

@MichaelPerrenoud, да. Я тестировал его перед публикацией кода, чтобы избежать смущения предоставления ложной информации :) 'StackPanel' определенно может быть дочерним элементом TextBlock. –

Смежные вопросы