버그 해결을 위한 모든 질문을 던져
0 votes
346 views

 

[비게임][윈도어플리케이션]

DevExpress WPF 의 GridControl에 여러 데이터를 출력하는 부분입니다. 아래와 같은 이미지를 추가하는 부분에 대한 질의입니다. 
컨트롤은 DevExpress GridControl 입니다

 

ResourceDictionary를 하나 따로 만들어서(전체 아이콘 관리용) 거기에 아이콘이 있습니다

<Canvas x:Key="order_state_Wait" Width="20" Height="20">

 

그리고 출력하는 xaml에서 해당 `order_state_Wait` 를 가져옵니다.

<Rectangle>
  <Rectangle.Fill>
    <VisualBrush Visual="{StaticResource order_state_Wait}" Stretch="Fill" />
  </Rectangle.Fill>
</Rectangle>

이렇게 하면 위 캡쳐화면처럼 잘 출력됩니다.

이런 하드코딩으로 호출되고 있기에 출력에 문제가 없습니다만 당연히 이렇게 하면 안되겠죠. 
그래서 저 아이콘 부분을 object 변수(변수명 StateIcon)로 가지는 ViewModel을 만들어 바인딩했습니다. 다른 칼럼은 잘 출력합니다.

그런데, 백그라운드워커를 통해 서버에서 가져오는 데이터를 Row List로 만들기 위해 

1. 작업 클래스의 초반에 ResourceDictionary를 가져옵니다.

imagesources = new ResourceDictionary
{
   Source = new Uri("/ㅁㅁㅁㅁㅁ.SubControls;component/ResourcesDictionary/Order_State_ICon.xaml", UriKind.RelativeOrAbsolute)
};

그리고 서버에서 가져온 data를 객체로 만들어 

RowData.StateIcon = imagesources["order_state_Wait"];

를 for문 안에 넣어줍니다. 

그렇게 해서 실행하면 에러가 발생합니다


 

다 적고 보니 

예외 메시지에 답이 나왔네요...

지정된 바인딩 제약 조건과 일치하는 'System.Windows.Controls.Canvas' 형식에 대한 생성자 호출에서 예외가 throw되었습니다.' 줄 번호 '141' 및 줄 위치 '6'

많은 UI 구성 요소에서 호출 스레드가 필요하므로 해당 스레드는 STA여야 합니다.

 

 

asked (130 point) , 346 views

게임코디님 제 글에 
 해당 &#39;order_state_Wait&#39;를 가져옵니다. 를 보시면 깨지는거 처리 부탁이요....

넵 확인 하였습니다.  사이트 일부 기능에 버그가 좀 있네요 ;;;;    감사합니다. ㅜㅜ

질문에 대한 답변을 하려면 로그인 또는 가입해야합니다.

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

380 질문
507 answers
519 댓글
7,847 users