WPF 응용 프로그램에 일반 단추가있는 MainWindow가 있습니다. 내가 OpenFileDialog를 통해 직렬화 된 객체를로드하고 버튼의 클릭 이벤트에 바인딩 :이 방법은 UI가 더 이상 업데이트하지 않습니다 실행됩니다 후OpenFileDialog.ShowDialog()를 호출 한 후 UI가 업데이트되지 않음
private void LoadNetwork_Click(object sender, RoutedEventArgs e)
{
var openDialog = new OpenFileDialog { Multiselect = false };
var result = openDialog.ShowDialog();
if (result)
{
string file = openDialog.FileName;
try
{
_network= new SimplifiedNetwork(file, 1);
MessageBox.Show("Loaded OK");
}
catch (Exception)
{
MessageBox.Show("Load error");
}
}
}
. 그리고 내가 아무 말도하지 않으면, 윈도우 작업의 버튼에 마우스를 올려 놓는 것조차도 의미가 없습니다 (코드 뒤의 코드, 속성 변경된 이벤트, 시작 호출 등은 말할 것도 없습니다).).
나는 내 루틴 내부 내가 한 일이라고 생각하지만, 단순히private void LoadNetwork_Click(object sender, RoutedEventArgs e)
{
var openDialog = new OpenFileDialog { Multiselect = false };
var result = openDialog.ShowDialog();
}
에 메서드 호출을 동일한 결과를했다 줄일 수있다.
명확화. - 모달 대화 상자를 닫은 후에 발생합니다. - UI가 어떤 이유로 든 포커스를 잃는 즉시 (즉, 최소화 - 복원, 다른 창으로 전환) 즉시 나타납니다. - 내 Windows 8.1 컴퓨터에서만 발생하는 것으로 보입니다. (주위에있는 xp VM에 넣고 OK입니다.)
아이디어가 있으십니까?
OpenFileDialog 상자가 보이십니까? 어떻게 화면이 고정 될 수 있지만 여전히 클릭에 응답 할 수 있습니까? 어떤 "클릭"이 효과가 있습니까? –
예, 객체가로드됩니다. 고정은 좋지 않은 선택입니다. '정적'이 실제로 더 좋을 것입니다. 단추를 가리키면 색상이 바뀌고 그 메서드를 호출하면 단추가 마우스 커서를 가리키면 반응하지 않습니다. 하지만 여전히 클릭 만 할 수 있으며 클릭 이벤트에 연결된 작업을 계속 수행합니다. – LuBa
파일 대화 상자가 열려있는 동안 응용 프로그램과 상호 작용할 수 없다는 말입니까? 그렇습니다, 이것은 설계에 의한 것입니다. – MoonBoots89