Просто используйте первые 5 символов ...?
SELECT CONVERT(VARCHAR(5),getdate(),108)
Подойдет вариант №2 или №3 - проблема в строке, где вы ссылаетесь на стиль - вам нужно использовать либо 'Style = "{StaticResource [KeyName]} "'или' Style =" {DynamicResource [KeyName]} "'.
Попробуйте следующее (в варианте №2):
<StackPanel Margin="10">
<TextBlock Style="{StaticResource MainMessageStyle}" Padding="10" Background="Yellow" Text="{Binding MainMessage}"/>
</StackPanel>
В тесте 1 вы обнаружите ограничение текущих версий WPF: триггеры не поддерживаются непосредственно для элементов .
Я думаю, что самый простой способ сделать это - определить Converter, который преобразует строку в видимость.
...
return string.IsNullOrEmpty(s) ? Visibility.Collapsed : Visibility.Visible;
}
Тогда просто
<TextBlock Visibility="{StaticResource StringToVisibilityConverter}"