powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / про привязки данных
17 сообщений из 17, страница 1 из 1
про привязки данных
    #38085327
Binding Path
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот у меня к свойству Background текстового поля прибиндено свойство Code:
Код: xml
1.
<TextBox Text ="{Binding Path=Code}" Background="{Binding Path=Code}">

Это свойство - код цвета, но без решетки. Скажем, вместо строки #FFDE8080 - строка FFDE8080.
Можно ли как-то в самом биндинге прибавить к свойству эту решетку?
...
Рейтинг: 0 / 0
про привязки данных
    #38085375
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Binding Path,

c IValueConverter можно практически все что угодно ({Binding ..., Converter=..., ConverterParameter=...}, но не проще ли "докинуть" нужное свойство (например, public string CodeSharp { get { return "#" + Code; } })?
...
Рейтинг: 0 / 0
про привязки данных
    #38085459
ding Path
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LR,

ок, спасибо.
ну, я первым делом "докинул", а потом подумал, что можно как-то проще.
...
Рейтинг: 0 / 0
про привязки данных
    #38085605
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ding Path,

да, здесь наверное можно и проще, что-то сразу не сообразил
{Binding ..., StringFormat='#\{0\}'}
...
Рейтинг: 0 / 0
про привязки данных
    #38086115
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LRда, здесь наверное можно и проще, что-то сразу не сообразил
{Binding ..., StringFormat='#\{0\}'}
Не "можно":
авторGets or sets a string that specifies how to format the binding if it displays the bound value as a string .
http://msdn.microsoft.com/en-us/library/system.windows.data.bindingbase.stringformat%28v=vs.110%29.aspx
...
Рейтинг: 0 / 0
про привязки данных
    #38086424
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,

Тем не менее, работает.
...
Рейтинг: 0 / 0
про привязки данных
    #38086497
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmaticТем не менее, работает.
Вот такое? Работает?
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
<Grid>
  <TextBox
    VerticalAlignment="Center"
    HorizontalAlignment="Center"
    Width="200"
    Text="{Binding Code, Mode=OneWay}"
    Background="{Binding Code, StringFormat='#\{0\}'}"/>
</Grid>


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
public partial class MainWindow
{
  public MainWindow()
  {
    InitializeComponent();
    Code = "00FF00";
    DataContext = this;
  }

  public string Code { get; private set; }
}


У меня - не работает. WPF, 4-й фреймворк. Да оно и в принципе не может работать: у свойства модели, возвращающего Background, тип должен быть даже не Color, а Brush. И уж подавно не string.
...
Рейтинг: 0 / 0
про привязки данных
    #38086525
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон, да, для биндинга значение, неявно конвертируемое в параметр конструктора типа возвращаться может. Но вот StringGormat тут не помогает никак.
...
Рейтинг: 0 / 0
про привязки данных
    #38086541
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны,

Хм, в SL работает.

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
    <Grid x:Name="LayoutRoot"
          Background="{Binding ColorCode, StringFormat='#\{0\}'}">
        <TextBox Height="23"
                 Width="100"
                 Text="{Binding ColorCode, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
        <TextBlock VerticalAlignment="Top"
                   HorizontalAlignment="Right"
                   Text="{Binding ColorCode}" />
    </Grid>



Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
    public partial class MainPage : INotifyPropertyChanged {
        private string _colorCode;

        public string ColorCode {
            get { return _colorCode; }
            set {
                _colorCode = value;
                if (PropertyChanged != null)
                    PropertyChanged(this, new PropertyChangedEventArgs("ColorCode"));
            }
        }

        public MainPage() {
            InitializeComponent();
            DataContext = this;
        }

        public event PropertyChangedEventHandler Pr

opertyChanged;
}[/SRC]

В WPF сходу не взлетело.
...
Рейтинг: 0 / 0
про привязки данных
    #38086551
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmaticВ WPF сходу не взлетело.Ага, INPC забыл.
Взлетело, но в WPF StringFormat по-другому работает. Занятно.
...
Рейтинг: 0 / 0
про привязки данных
    #38086552
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmatic,

Файл.
...
Рейтинг: 0 / 0
про привязки данных
    #38086560
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныНо вот StringGormat тут не помогает никак.Да, в сильверлайт StringFormat явно превышает свои полномочия. Тем не менее, в SL работает.
...
Рейтинг: 0 / 0
про привязки данных
    #38086565
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня вот такое
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
       public View()
        {
            InitializeComponent();
            Code = "FFDE8080";
            DataContext = this;
        }
        public string Code { get; set; }
...
       <TextBox Text ="{Binding Path=Code}" Background="{Binding Path=Code, StringFormat='#\{0\}'}"/>


в SL работает, в WPF нет (System.Windows.Data Error: 6 : 'TargetDefaultValueConverter' converter failed to convert value 'FFDE8080' (type 'String'); fallback value will be used, if available. BindingExpression:Path=Code; DataItem='Window1' (Name=''); target element is 'TextBox' (Name=''); target property is 'Background' (type 'Brush') FormatException:'System.FormatException: Недопустимый маркер.)

enigmatic,
можете показать работающий код WPF?
...
Рейтинг: 0 / 0
про привязки данных
    #38086577
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LR,

Работающий код прилагаю, но в WPF такой номер не прокатывает. StringFormat там по-другому работает.

Посмотрите внимательно на скриншоты, в SL работает без решетки, в WPF только с решеткой.
...
Рейтинг: 0 / 0
про привязки данных
    #38086588
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmaticStringFormat там по-другому работает.
В WPF строка ColorCode не проходит через StringFormat перед попаданием в дефолтный конвертер Строка->Кисть, а в Silverlight -- проходит.
Yet another change between SL & WPF. Meh.
...
Рейтинг: 0 / 0
про привязки данных
    #38086592
enigmatic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmaticYet another difference between SL & WPF. Meh.
...
Рейтинг: 0 / 0
про привязки данных
    #38086593
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
enigmaticДа, в сильверлайт StringFormat явно превышает свои полномочия. Тем не менее, в SL работает.
Да, SL явно глюкавей WPFа, но таким глюком (с учетом того что 5-я версия последняя) можно и воспользоваться
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / про привязки данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]