WPF Смешивание Связанного и Фиксированного текста в TextBox

Действительно нет причины..., это - просто старое соглашение.

Для оставления свободного места программисты часто делали бы, заключительная математика в возвратной линии вместо на своей собственной строке и parens удостоверяется, должны главным образом там облегчить видеть, что это - отдельный оператор, который возвращается, как это:

return (x+i*2);

вместо

int y = x+i*2;
return y;

круглая скобка стала привычкой, и она придерживалась.

7
задан Ray 15 September 2009 в 22:02
поделиться

2 ответа

Предполагая, что вам не нужно, чтобы значение возраста было редактируемым, в WPF 4.0 свойство Text Run будет привязано, это, вероятно, не поможет вам прямо сейчас, если вы не используете предварительный -release, но вы сможете сделать что-то вроде следующего:

<TextBlock x:Name="txtClientAge" >
    <Run Text="Age "/><Run Text="{Binding Path=ClientAge}"/><Run Text=" Yrs"/>
</TextBlock>

UPDATE Вот еще одна альтернатива решению форматной строки, которая будет работать, но не особенно хороша (на самом деле довольно хакерская). Используйте следующий преобразователь для привязки (при условии, что свойство ClientAge имеет тип int):

public class AgeConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter,
                          System.Globalization.CultureInfo culture)
    {
        string age = value.ToString();
        return "Age " + age + " years";
    }

    public object ConvertBack(object value, Type targetType, object parameter,
                              System.Globalization.CultureInfo culture)
    {
        string age = value as string;
        return Int32.Parse(age.Replace("Age ", " ").Replace(" years", ""));
    }
}
8
ответ дан 6 December 2019 в 10:01
поделиться

Вы также можете создать свойство в классе, который вы связываете, которое создает текстовую строку, которую вы хотите отобразить.

Также существует маршрут StringFormat:

<textblock text="{Binding Path=mydate, StringFormat=d}"/>

Вы можете взломать константы в строку форматирования.

Я предпочитаю метод свойств.

5
ответ дан 6 December 2019 в 10:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: