아래의 두 코드 세그먼트는 서로 다른 네임 스페이스에 있습니다. 두 번째 코드의 액세스 한정자는 내부입니다. 거기서 몇 가지 작업을하고 있는데, MgmntApp 진행률 막대에서 비율과 업데이트를 계산하려고합니다. 어떻게해야합니까?내부 클래스에있는 값을 사용하여 진행률 표시 줄 업데이트
WpfApplication1
MainWindow.xaml는
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid Height="204">
<ProgressBar Height="35" HorizontalAlignment="Left" Margin="57,83,0,0" Name="progressBar1" VerticalAlignment="Top" Width="346" />
</Grid>
</Window>
나는 아래 클래스의 장기 실행 작업을하는 동안 진행률 표시 줄의 값을 업데이트 할.
다른
FileParser.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Different
{
/// <summary>
/// </summary>
internal class FileParser:ImageFileParser
{
ImageFileParser.GenerateCmds()
{
percentage=change; //0 to 100
//long time operation
}
}
}
하지만 fp.GenerateCmds()는 PrgmCmdGen이라는 또 하나의 클래스에 의해 호출됩니다. UI 업데이트 방법 (UI에서 progressBar1에 액세스 할 수 없습니다. – SHRI
로직 내에서 뷰를 업데이트하지 마십시오.) PrgmCmdGen 클래스를 이벤트에 구독하고 PrgmCmdGen 클래스에서 다른 ProgressChanged 이벤트를 노출합니다 (이벤트를 버블 링합니다.)) 내 대답에서 제안한대로 구독하십시오. –
new ProgressChangedEventArgs (percentage)); 이것은 오류를주는 것입니다. 하나 이상의 매개 변수 UserState가 묻습니다. – SHRI