2010-10-06 2 views
0

Это мой текущий XAML.WPF: Разверните прямоугольник проверки

<StackPanel Orientation="Horizontal" Grid.Column="3" Grid.Row="1"> 
    <Label Content="Allocated:" FontSize="14"/> 
    <Label Content="{Binding AllocatedUnits, Mode=OneWay, ValidatesOnDataErrors=True}" ContentStringFormat="N0" FontSize="14"/> 
</StackPanel> 

Как бы это изменить, чтобы красный прямоугольник проверки был вокруг всего текста, а не только числа. (Я соглашусь полностью отбросить панель стека и сделать что-то еще.

ответ

2

Связывание с строкой, вероятно, сделало бы трюк в этом случае, но это было недоступно в .NET 3.0 (в случае, если вы все еще используя эту версию!) .Если вы можете использовать ее, вам понадобится только один элемент управления ярлыками (чтобы вы могли вырезать и другую метку и в стеке, а ваша граница проверки будет обертывать весь текст на оставшуюся метку) .

EDIT: согласно комментарий Джонатана, кажется, вам нужно два атрибута, чтобы сделать это на контроль за содержанием ...

использовать что-то вроде этого для вашего связывания:

Content="{Binding AllocatedUnits, ValidatesOnDataErrors=true}" ContentStringFormat="Allocated: {0}" 

MSDN документация here.

+0

Поскольку это метка, вы должны использовать ContentStringFormat вместо StringFormat. Помимо этого, он отлично работает. –

+0

Спасибо, Джонатан. Я поменял свой ответ на костюм. –

+0

О нет, ContentStringFormat не является свойством в Binding. (Это будет иметь слишком много смысла.) Вместо этого это свойство на самой этикетке. –

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