2013-10-12 2 views
0

Я думаю, что у меня та же проблема, описанная в this question.StaticResource в DataTemplate не разрешает

<ItemsControl ItemsSource="{Binding Buttons}"> 
    ... 
    <DataTemplate> 
     <RadioButton Style="{StaticResource {x:Type ToggleButton}}"/> 
    ... 

В этом случае статический ресурс не разрешен. Я попытался изменить его на DynamicResource согласно приведенной выше ссылке, но это не устраняет проблему. Что я могу сделать для доступа к StaticResource в DataTemplate?

+0

Как и где определяется стиль, на который вы ссылаетесь? – lisp

+0

Я не определяю его ... пока не знакомы с этой стороной XAML. Нужно ли его определять где-то? – Sherlock

+0

, если вы хотите использовать только стиль по умолчанию для ToggleButton (а не ваш стиль по умолчанию) на вашем RadioButton, тогда нет. Но это работает для меня. Откуда вы знаете, что ресурс не разрешен? – lisp

ответ

1

Если вы не определили GroupName для переключателей, то они будут группироваться в соответствии с их родительским контейнером, то есть все радиостанции в одной панели панели панели/сетки/док-станции будут вести себя так, как если бы они имели одинаковое имя группы. Можете ли вы изменить свой интерфейс, чтобы все кнопки находились в одном контейнере?

Если это не представляется возможным, определить свойство типа String на вашем пользовательском элементе управления, а затем связать GroupName (на каждой кнопке радио) для этого свойства

GroupName="{Binding RelativeSource={RelativeSource FinsAncestor, AncestorType={x:Type my:MyUserControl}}, Path=CurrentGroupName}" 

Затем на каждом экземпляре пользовательского элемента управления, вы можете установить другое имя группы.

+0

Я положил их все в отдельных контейнерах Grid. Проблема все еще возникает. Я стараюсь избегать создания случайной строки для каждого пользовательского элемента управления как GroupName, но похоже, что мне, возможно, придется спуститься по этому маршруту. – Sherlock

+0

Вам не нужно создавать случайную строку, пусть пользователь вашего 'UserControl' (т. Е. Разработчик, создающий экземпляр UC), чтобы определить группу. Пока свойство «DependencyProperty», они смогут привязать его к свойству в своей модели представления, если это необходимо. – XAMeLi

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

  • Нет связанных вопросов^_^