связывая два разных преобразования вместе в silverlight 4 - PullRequest
3 голосов
/ 04 октября 2010

Я пытаюсь связать translateTransform и композитный Transform вместе в silverlight 4 в коде (c #). Я не могу сделать это в xaml, потому что элементы загружаются динамически. Мне просто нужен Xoffset. CompositeTransform является источником. У меня есть текущий код, но он не работает:

TranslateTransform trans = new TranslateTransform();
Binding transBind = new Binding("Value");
transBind.Source = ((CompositeTransform)SchedulePanel.RenderTransform);
BindingOperations.SetBinding(trans, TranslateTransform.XProperty, transBind);
line.TextChannelName.RenderTransform = trans;

Спасибо

Ответы [ 2 ]

1 голос
/ 04 октября 2010

Мне кажется, что: -

Binding transBind = new Binding("Value"); 

должно быть

Binding transBind = new Binding("TranslateX");

составное преобразование не имеет свойства "Значение".

0 голосов
/ 14 декабря 2010

Поскольку TranslateTransform не является FrameworkElement, для того, чтобы быть целью привязки, он должен удовлетворять одному из следующих условий (из MSDN):

В Silverlight 4 целью также может бытьDependencyProperty объекта DependencyObject в следующих случаях:

  • DependencyObject - это значение свойства FrameworkElement.

  • DependencyObject находится в коллекции, которая является значением свойства FrameworkElement (например, свойство Resources).

  • DependencyObject находится в коллекции DependencyObjectCollection.

Поэтому попробуйте установить trans TranslateTransform в качестве преобразованияTextChannelName до установка привязки так, чтобы в момент установки бининга, цель.

Try:

TranslateTransform trans = new TranslateTransform();
line.TextChannelName.RenderTransform = trans; 

Binding transBind = new Binding("Value"); 
transBind.Source = ((CompositeTransform)SchedulePanel.RenderTransform); 
BindingOperations.SetBinding(trans, TranslateTransform.XProperty, transBind); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...