Сначала я создал обычный элемент GroupBox:
<GroupBox x:Name="gBoxInfo" Header="Filename:" Grid.Row="1"/>
Затем я попытался отобразить после двоеточия имя файла, для этого я добавил к записи привязку и попытался вывести имя файла из переменной:
<GroupBox x:Name="gBoxInfo" Header="{Binding FileName, StringFormat=Filename: {0}}" Grid.Row="1"/>
Здесь FileName — это свойство, описанное в коде MainWindow.xaml.cs:
private string _FileName;
public string FileName
{
get
{
return _FileName;
}
set
{
if (_FileName != value)
{
_FileName = value;
OnPropertyChanged("FileName");
}
}
}
Но в результате было выведено только имя файла без надписи Filename:
В редакторе XAML было подчёркнуто начало слова Filename и при наведении мышки выдавалось такое сообщение:
No DataContext found for Binding ‘Filename: {0}’
Я подумал, что при такой форме записи, Filename воспринимался как переменная, а не как часть выводимой строки. Пришлось искать дальше. У меня не было много времени для поиска идеального решения, но вот такой вариант решил проблему с выводом текста и значения переменной:
<GroupBox x:Name="gBoxInfo1" Grid.Row="0">
<GroupBox.Header>
<TextBlock Text="{Binding FileName, StringFormat='Filename: {0}'}"/>
</GroupBox.Header>
</GroupBox>
При такой записи есть ещё один плюс — можно в текст вставить символ кавычек:
<GroupBox x:Name="gBoxInfo1" Grid.Row="0">
<GroupBox.Header>
<TextBlock Text="{Binding FileName, StringFormat='Filename: "{0}"'}"/>
</GroupBox.Header>
</GroupBox>
Если есть какие-то комментарии или замечания, будет интересно услышать.
- C#: Сравнить два массива - 12.12.2024
- EVE-Online: Фильтры каналов - 23.11.2024
- Не приходит СМС для авторизации на сайте Госуслуги - 01.11.2024