목표 :
Visual Studio 2010에서 만든 응용 프로그램의 경로로 주소를 입력하고 싶습니다. 경로는 단위 (c 또는 d 단위)에서 이름 응용 프로그램.사용자 지정 경로 주소 만들기 (wpf)
문제점 :
런타임에 사용자 정의 경로 주소를 작성할 수 없습니다. 나는 단위에서 그림의 이름까지있는 전체 경로 주소를 원하지 않습니다. 이 경로 주소 에
--no "D : \ 작업 \ Modul3 \ Assignment3 \ Assignment3 \ 빈 \ 디버그 \의 logotyp_vp_final.jpg"
- 네, 요청 경로 "D : \ 작업 \ Modul3 \ Assignment3 "
이 신청서와 신청서의 이름 및 주소는 수시로 변경 될 수 있습니다.
namespace Assignment3
{
/// <summary>
/// Interaction logic for FlightForm.xaml
/// </summary>
public partial class FlightForm : Window
{
public delegate void TakeOffHandler(object source, TakeOffEventArgs e);
public delegate void ChangeHandler(object source, ChangeRouteEventArgs e);
public event TakeOffHandler TakeOffEvent;
public event ChangeHandler ChangeEvent;
public FlightForm()
{
InitializeComponent();
Title = "Flight ";
cmbStatus.Visibility = Visibility.Hidden;
btnLand.Visibility = Visibility.Hidden;
string fullPath;
fullPath = System.IO.Path.GetFullPath("logotyp_vp_final.jpg");
BitmapImage image = new BitmapImage();
image.BeginInit();
image.UriSource = new Uri(fullPath);
image.EndInit();
image1.Source = image;
System.Windows.Shapes.Path path = new System.Windows.Shapes.Path();
}
private void btnStart_Click(object sender, RoutedEventArgs e)
{
cmbStatus.Visibility = Visibility.Visible;
btnLand.Visibility = Visibility.Visible;
btnStart.Visibility = Visibility.Hidden;
TakeOffEvent(this, new TakeOffEventArgs("a", "b", DateTime.Now.ToString()));
ChangeEvent(this, new ChangeRouteEventArgs("aa", "bb", "cc"));
}
}
}
이 같은
namespace Assignment3
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class ControlTower : Window
{
public ControlTower()
{
InitializeComponent();
}
private FlightForm myFlightForm;
private void btnSendNextAirplane_Click(object sender, RoutedEventArgs e)
{
myFlightForm = new FlightForm();
myFlightForm.TakeOffEvent += new FlightForm.TakeOffHandler(PrintOutTakeOff);
myFlightForm.ChangeEvent += new FlightForm.ChangeHandler(PrintOutChange);
myFlightForm.Show();
}
public void PrintOutTakeOff(object source, TakeOffEventArgs e)
{
lstDisplay.Items.Add(new { FlightCode = e.FlightCode, Status = e.Status, Time = e.Time });
}
public void PrintOutChange(object source, ChangeRouteEventArgs e)
{
string test = e.FlightCode + e.Status + e.Time;
MessageBox.Show(test);
}
}
}
나는이 결과를 얻을 : 로컬 경로 = "D : \\ 일 \\ Modul3을 \\ 할당 3 \\ 할당 3 \\ bin \\ 디버그 \\ 할당 3 .EXE " currentDirectory ="D : \\ 작업 \\ 모듈 3 \\ 할당 3 \\ 할당 3 \ bin \ \ 디버그 " 표준입니까? "bin \\ Debug"주소를 검색 하시겠습니까? 요청한 주소는 "D : \\ Work \\ Modul3 \\ Assignment3"입니다. –
예제의 이미지 경로 인'logotyp_vp_final.jpg'에 접근하려는 경우 이미지는 프로젝트의 일부 여야하며 다른 곳에 있지 않아야합니다. 이미지를 프로젝트의 일부로 포함 시키면 이미지에 액세스 할 수있는 몇 가지 옵션, 즉 임베디드 리소스 또는 출력 디렉토리로 복사 만 할 수 있습니다. 그리고 예, 결과는 응용 프로그램이 실행되는 위치이기 때문에 기대 한 결과입니다. –