OnRender
메서드를 재정의하는 사용자 지정 TextBox가 있습니다. 안타깝게도 격자에 143-145 TextBox를 추가 할 때 OnRender
이 제대로 작동하지 않습니다.OnRender 메서드가 144 개 이상의 컨트롤에서 작동하지 않습니다.
이것은 160 개의 TextBox가있는 창을 wpf 디자이너에서와 같이 보입니다. 각 TextBox는 OnRender
메서드에서 테두리 브러시를 빨간색으로 설정합니다. 텍스트 상자의 마지막 열에 대해서는 OnRender
이 더 이상 작동하지 않습니다.
render test example http://s3.postimage.org/id6jvq09n/render_Test_Example.png
문제
가 WPF 디자이너에 바인딩되지 않으며, 동일한 런타임에 발생합니다. 재미있게도, 디자이너 내에서 하나의 구성 요소를 삭제하거나 런타임에 렌더링 된 후에는 다른 모든 컨트롤이 갑자기 작동합니다.예제 코드 :
MytextBox.cs
RenderTestPanel.xaml
RenderTestPanel.xaml.cs
정말 많은 TextBox를 표시해야합니까? TextBlocks를 사용하고 사용자가 셀을 "편집"할 때만 TextBox를 표시하십시오. TextBlocks은 훨씬 가벼운 무게입니다. –
Chibacity의 덧글 외에도 Style을 사용하여 BorderBrush를 Red로 설정하는 것이 어떻습니까? 또는 Constructor에서 브러시를 Red로 설정하면 여러 번 호출되는 OnRender 대신 한 번만 설정됩니다. – Rachel
@chibacity 예, 많은 TextBox를 표시해야합니다. 이전 시스템의지도를 C# 패널로 변환하는 중입니다. 이전지도 중 일부는 예를 들어 10x15 수정 가능 텍스트 필드의 격자를 포함합니다. 텍스트 필드로 만든 테이블과 같습니다. – Markus