2016-11-22 14 views
-1

私は簡単なダイアログボックスを開いて、画像オブジェクトにイメージjpegファイルを追加しようとしています。私はsooo close ...私は望んでいますが、 C#のコードを持って、下のWPF:C#とWPF画像

private void btn_Open_Click(object sender, RoutedEventArgs e) 
{ 
    OpenFileDialog ofd = new OpenFileDialog(); 
    ofd.Filter = "Image jpeg(*.jpg)|*.jpg|Image png(*.png)|*.png"; 
    ofd.DefaultExt = ".jpeg"; 
    Nullable<bool> result = ofd.ShowDialog(); 

    Images i = new Images(); 

    // Process open file dialog box results 
    if (result == true) 
    { 
     // Open document 

     i.Imagepath = ofd.FileName; 

     Cropped.Source = i; 

    } 
} 

Crooped.Sourceにその示すエラー=私は、トリミングは、私はそれをマウスのコントロールを持つユーザーが切り取られますさらなるステップを取るつもりイメージ名であり、画像。

以下

は、WPFのXAMLです:

<Border BorderBrush="Black" BorderThickness="1" HorizontalAlignment="Left" Height="291" Margin="26,10,0,0" VerticalAlignment="Top" Width="313"> 
    <Image x:Name="Cropped" Source="{Binding}" /> 
</Border> 
+1

あなたはデータコンテキスト自体に結合されているという事実は、おそらくあなたの問題の大きな原因です。あなたはあなたが作成したImageオブジェクトで何もしていません(そして 'Image'は' ImageSource'ではありません) – BradleyDotNET

答えて

0
private void btn_Open_Click(object sender, RoutedEventArgs e) 
{ 
    var ofd = new OpenFileDialog(); 
    ofd.Filter = "Image jpeg(*.jpg)|*.jpg|Image png(*.png)|*.png"; 
    ofd.DefaultExt = ".jpeg"; 

    // Process open file dialog box results 
    if (ofd.ShowDialog() == true) 
    { 
     Cropped.Source = new BitmapImage(new Uri(ofd.FileName)); 
    } 
} 
0

はそれを試してみてください。

if (result == true) 
      { 
       Cropped.Source = new BitmapImage(new Uri(ofd.FileName)); 
      } 
+0

なぜ私の投稿は役に立たないのですか?それは作品です。あなたがなぜそれが動作するのか説明していないので、 –

+0

です。すべての答えは、問題を解決する理由について簡単な説明が付いてくるはずです(PS私はdownvoterではありません) – litelite

+0

おそらくあなたは、 – Clemens

関連する問題