Как использовать пользовательский шаблон элемента, содержащий тег Path в ComboBox (не вызывая исключения вне диапазона) - PullRequest
0 голосов
/ 06 ноября 2008

У меня есть поле со следующим DataTemplate:

<DataTemplate x:Key="ComboBoxDataTemplate">
            <StackPanel>
                <TextBlock Text="{Binding Path='Name'}"/>
                <Path Data="{Binding Path='PathGeometry'}" Width="64" Height="64" Stroke="Black" Stretch="Fill" StrokeThickness="1"/>
            </StackPanel>
        </DataTemplate>

PathGeometry - это нечто простое, например 0,1 0,0.5 0.5,0 0,1 (простая кривая). Когда я выбираю элемент в поле со списком, все приложение silverlight становится белым. Выдается исключение «Значение вне диапазона», которое я обрабатываю, но после этого оно становится белым.

Почему выбрасывается исключение? Если я удаляю {Binding} из тега Path и определяю свой собственный, он работает нормально. По какой-то причине это просто привязка данных.

1 Ответ

1 голос
/ 06 ноября 2008

Я точно не нашел «ответа» на это, но я нашел обходной путь. Вместо создания свойства типа PathGeometry, если вы измените свойство на использование строки, которая будет работать одинаково хорошо (с использованием синтаксиса разметки пути).

...