Silverlight 4에서 충돌이 발생합니다. 저스트 - 인 - 타임 디버거는 말한다 :Silverlight 4 ManagedRuntimeError 4004 목록 스크롤 이미지 XamlParseException
An unhandled exception ('Unhandled Error in Silverlight Application')
Code: 4004
Category: ManagedRuntimeError
Message: System.Windows.Markup.XamlparseException: [Line: 0 Position: 0]
내가 20 (정도) 항목의 컬렉션에 목록 상자를 바인딩합니다. 컬렉션이 잘로드되어 올바르게 바인딩됩니다. 그러나 컬렉션의 맨 아래로 스크롤 한 다음 실버 라이트 충돌을 다시 스크롤하려고합니다.
오류는 내 Item Template 내에 contentcontrol, contentpresenter 또는 이미지 컨트롤을 포함하는 경우에만 발생합니다. 예를 들어 'InnerBorder'높이를 100으로 설정하고 콘텐츠 컨트롤을 제거하면 Silverlight가 중단되지 않습니다. 또한 {Binding Visual}은 항목의보기 모델에 정의 된 이미지입니다.
여기 내 코드입니다.
<Border HorizontalAlignment="Left"
Margin="2"
Padding="0">
<Controls:Expander ExpandDirection="Right"
Header="Templates">
<ListBox UseLayoutRounding="False"
SelectedItem="{Binding SelectedTemplate, Mode=TwoWay}"
Margin="4"
ItemsSource="{Binding Templates}"
ScrollViewer.VerticalScrollBarVisibility="Visible"
Width="250">
<ListBox.ItemTemplate>
<DataTemplate>
<Border Style="{StaticResource InnerBorder}"
Width="200"
Margin="4">
<ToolTipService.ToolTip>
<ToolTip Content="{Binding Description}" />
</ToolTipService.ToolTip>
<StackPanel Orientation="Vertical"
VerticalAlignment="Center"
HorizontalAlignment="Center">
<ContentControl Content="{Binding Visual}"
MaxWidth="100" />
<TextBlock Text="{Binding Name}"
HorizontalAlignment="Center" />
</StackPanel>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Controls:Expander>
Im 완전히 손실되었습니다. 어떤 도움이라도 대단히 감사하겠습니다.
해결책을 해킹했습니다. 목록 상자의 스크롤 뷰어를 비활성화 한 다음 독립 스크롤 뷰어에서 목록 상자를 감 쌌습니다. 문제는 ItemsControllGenerator에 문제가 있음을 나타냅니다. 특히, 목록 상자가 내 콘텐츠를 가상화하려고 시도 할 때 문제가 발생합니다. – Torak
답변으로 게시해야합니다. 해킹/해결 방법 일 수 있지만 그게 전부라면 그만한 가치가 있습니다. (나는 또한 충돌을 일으키는 스크롤 문제가있다 - 당신은 실버 라이트 툴킷을 사용 하는가?) –
자, 여러분. 그것은 효과가있을 수 있습니다. 그러나 ListBox에서 ~ 1000 요소는 무엇입니까? – Monochromie