내 프로젝트에 두 개의 Silverlight 컨트롤이 있고 TeamId 속성이 있습니다. 둘 다 사용자를 호스팅하는 컨트롤의 XAML에서 함께 이러한 결합하고자 유사 제어하는 것입니다 : 내가 System.ComponentModel.INotifyPropertyChanged 구현 및 변경 TeamId 속성시하여 PropertyChanged 이벤트를 발생하고있어 첫 번째 컨트롤에서Silverlight에서 사용자 지정 특성 바인딩
<agChat:UserTeams x:Name="oUserTeams" />
<agChat:OnlineUser x:Name="oOnlineUsers" TeamId="{Binding ElementName=oUserTeams, Path=TeamId}" />
.
두 번째 컨트롤에서는 propdp 스 니펫을 사용하여 TeamId를 종속성 속성으로 식별했습니다. 실버 라이트 컨트롤이 처음 만들어 질 경우
// Using a DependencyProperty as the backing store for TeamId. This enables animation, styling, binding, etc...
public static readonly DependencyProperty TeamIdProperty =
DependencyProperty.Register(
"TeamId",
typeof(string),
typeof(OnlineUsers),
new System.Windows.PropertyMetadata(new System.Windows.PropertyChangedCallback(TeamChanged)));
는 그러나, 나는 실버 라이트에서 후속 예외를 얻을 : 내가 잘못 뭘하는지
Unhandled Error in Silverlight 2 Application Invalid attribute value {Binding ElementName=oUserTeams, Path=TeamId} for property TeamId. [Line: 21 Position: 146] at System.Windows.Application.LoadComponent(Object component, Uri xamlUri) at agChat.Page.InitializeComponent() at agChat.Page..ctor() at agChat.App.Application_Startup(Object sender, StartupEventArgs e) at System.Windows.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args) at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, String eventName)
어떤 아이디어? 분명히 이것은 모두 코드 숨김으로 수행 될 수 있지만이 은 올바른 접근 방식과 같이으로 보입니다.
나는 오늘 이것을 만났다. 좋은 제안 주셔서 감사합니다! (SL3에서 요소 바인딩 지원 기대!) –