|
Binding на уровень выше {Binding ../Item} - как?
|
|||
---|---|---|---|
#18+
Есть ViewModel: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Есть форма, на ней вверху сомбик, а потом ListBox, в котором каждый итем отображает структуру SomeItem. Так же в каждой строке должен быть комбик, заполненный теми же строками, что и комбик на форме: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Как сделать для комбиков в листе биндинг, что бы не копировать ItemsForCombo в каждый SomeItem? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 13:24 |
|
Binding на уровень выше {Binding ../Item} - как?
|
|||
---|---|---|---|
#18+
Например на уровне ListBox-а объявить присоединяемое свойство и привязать его к выбранному элементу в комбике, а элементы привязать к этому же присоединяемому свойству через FindAncestor ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 13:27 |
|
Binding на уровень выше {Binding ../Item} - как?
|
|||
---|---|---|---|
#18+
Не понял... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 15:27 |
|
Binding на уровень выше {Binding ../Item} - как?
|
|||
---|---|---|---|
#18+
Код: xml 1. 2. 3. 4. 5.
Как-то так (сорри, если где-нить опечатка в синтаксисе, писал по памяти) "куданадо" - это как раз привязка к источнику (выше сказал "к текущему элементу" - невнимательно прочитал вопрос) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 16:22 |
|
Binding на уровень выше {Binding ../Item} - как?
|
|||
---|---|---|---|
#18+
Всё понятно, спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 17:26 |
|
Binding на уровень выше {Binding ../Item} - как?
|
|||
---|---|---|---|
#18+
Shocker.Pro, есть способ проще, у ItemsControl есть виртуальный метод PrepareContainerForItemOverride и GenerateItemContrainer, как раз в первом и просходит определение таких свойств как ContentTemplate\Selector, задается стиль, особенно актуально для TreeView, где стиль надо передавать на каждый уровень иерархии, хотя я редко его использую и строю деревья в ListBox. Короче можно просто наследовать класс, не переопределяя свойство DefaultStyleKey и этот контрол будет использовать стили обычного ListBox'а, но с доп. функционалом ) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2016, 22:53 |
|
Binding на уровень выше {Binding ../Item} - как?
|
|||
---|---|---|---|
#18+
Shocker.Pro , я не свойство присоединил, я просто сделал поиск не по ListBox-у, а по Window: Код: xml 1. 2. 3. 4. 5. 6. 7.
ну и в окошке добавил: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 17:46 |
|
Binding на уровень выше {Binding ../Item} - как?
|
|||
---|---|---|---|
#18+
Roman Mejtes, это что-то совсем не понятное. У меня даже сложилось впечатление, что это, возможно, должно быть в каком-то другом треде (-: ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 17:47 |
|
Binding на уровень выше {Binding ../Item} - как?
|
|||
---|---|---|---|
#18+
13thя не свойство присоединил, я просто сделал поиск не по ListBox-у, а по Window:Ну тут уже получается немножко не MVVM. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2016, 17:55 |
|
Binding на уровень выше {Binding ../Item} - как?
|
|||
---|---|---|---|
#18+
Shocker.Pro, <ComboBox ItemsSource="{Binding Path=DataContext.ItemsForCombo, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListBox}}" ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2016, 17:37 |
|
Binding на уровень выше {Binding ../Item} - как?
|
|||
---|---|---|---|
#18+
а кто сказал, что DataContext задан для ListBox-а? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2016, 12:13 |
|
Binding на уровень выше {Binding ../Item} - как?
|
|||
---|---|---|---|
#18+
Ну там же написано: ItemsSource="{Binding ItemsForList}", значит, есть контекст. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 16:53 |
|
|
start [/forum/topic.php?fid=21&fpage=11&tid=1440637]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
71ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 190ms |
0 / 0 |