У меня есть пользовательский элемент управления со свойством определяется следующим образом:Silverlight на Windows Phone: IValueConverter никогда не вызывается для пользовательских связанных свойств
public partial class ChartEx : UserControl
{
private object _dataSource;
public object DataSource
{
get { return _dataSource; }
set
{
_dataSource = value; //break here
}
}
}
В моем XAML, я пытаюсь привязать его к коллекции (из внутренней матрицы данных):
<DataTemplate x:Key="tmplCounter">
<my:ChartEx
DataContext="{Binding Converter={StaticResource convTest}, ConverterParameter='DataContext'}"
DataSource="{Binding Converter={StaticResource convTest}, ConverterParameter='DataSource'}">
</my:ChartEx>
</DataTemplate>
Но в отладчике я вижу, что значение, которое приходит к DataSource сеттер имеет тип System.Windows.Data.Binding!
Преобразователь значения never введен с параметром «DataSource», но для «DataContext» он отлично работает. Конвертер существует только для целей отладки, без чего все работает одинаково.
Как создать привязку к свойствам, которые я определил?
Не думаю, что я точно понимаю, что вы пытаетесь сделать здесь. Зачем вам нужно дважды конвертировать конвертер? Один раз в DataContext и один раз в DataSource? –
Я хочу назвать это в DataSource и получить значение. DataContext только для того, чтобы показать, что такая же точная разметка работает для унаследованного свойства. –
Что вы делаете в DataSource, вы вызываете его, вызывая метод, который передавал бы его получателю. Вы пытаетесь передать DataContext диаграммы в качестве параметра в метод конвертера? Можете ли вы опубликовать код сценария, который не работает, вместе с подписью конвертера? Почему вы пытаетесь преобразовать datacontext, передав datacontext? –