Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

WPF und C-Sharp Binding a Variable

Frage Entwicklung VB for Applications

Mitglied: Hitman4021

Hitman4021 (Level 2) - Jetzt verbinden

17.04.2012 um 09:38 Uhr, 3796 Aufrufe, 4 Kommentare

Hallo, ich habe vor kurzem beschlossen mir mal wider was neues anzuschauen(C# und WPF). Doch nun stehe ich schon vor einem Problem das ich leider nicht selbst lösen kann.

Ich möchte aus dem Registry Key: HKEY_Current_User\Software\Car\ den Wert des Schlüssels "MARKE_IMAGE" auslesen und diesen Pfad im XAML als Pfad zu einem Bild verwenden. Allerdings bekomme ich statt des Bildes nur eine leere Stelle. Ich denke mein Problem liegt irgendwo beim übergeben an IMAGE_NAME. Ich hoffe irgendwer kann mir hier etwas weiterhelfen.

page1.xaml.cs
01.
using System; 
02.
using System.Collections.Generic; 
03.
using System.Linq; 
04.
using System.Text; 
05.
using System.Windows; 
06.
using System.Windows.Controls; 
07.
using System.Windows.Data; 
08.
using System.Windows.Documents; 
09.
using System.Windows.Input; 
10.
using System.Windows.Media; 
11.
using System.Windows.Media.Imaging; 
12.
using System.Windows.Navigation; 
13.
using System.Windows.Shapes; 
14.
using System.Security.Permissions; 
15.
using Microsoft.Win32; 
16.
 
17.
[assembly: RegistryPermissionAttribute(SecurityAction.RequestMinimum, 
18.
    ViewAndModify = "HKEY_CURRENT_USER")] 
19.
 
20.
namespace TEST_0_1 
21.
22.
    public partial class TEST : Page 
23.
    {     
24.
public class IMAGE 
25.
26.
        private string _IMAGE;        
27.
        public string GET_IMAGE() 
28.
29.
            RegistryKey rk = 
30.
            Registry.CurrentUser.OpenSubKey 
31.
            (@"Software\CAR"); 
32.
            string GET_IMAGE = (string)rk.GetValue("MARKE_IMAGE"); 
33.
            rk.Close(); 
34.
            return _IMAGE; 
35.
36.
 
37.
        public string IMAGE_NAME 
38.
39.
            get { return _IMAGE; } 
40.
            set { _IMAGE = value; } 
41.
42.
43.
}
page1.caml
01.
<Page x:Class="TEST_0_1.TEST" 
02.
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
03.
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
04.
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"  
05.
      xmlns:my="clr-namespace:TEST_0_1" 
06.
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008"  
07.
      mc:Ignorable="d"  
08.
      d:DesignHeight="480" d:DesignWidth="640" 
09.
      Title="Home"> 
10.
        <Grid x:Name="LayoutRoot" HorizontalAlignment="Center" VerticalAlignment="Center" Width="640" Height="480"> 
11.
        <Grid.Resources> 
12.
            <my:IMAGE x:Key="myIMAGE" IMAGE_NAME="Spot"/> 
13.
        </Grid.Resources> 
14.
            <Image HorizontalAlignment="Right" Margin="0,115,70,115" Width="200" Height="200" Source="{Binding IMAGE_NAME, Mode=Default}" DataContext="{StaticResource MyIMAGE}" Stretch="Fill"/> 
15.
        </Grid>
Was mache ich hier falsch?

Danke schonmal für die Hilfe

mfg
Mitglied: SlainteMhath
17.04.2012 um 09:49 Uhr
Moin,

01.
[...] 
02.
string GET_IMAGE = (string)rk.GetValue("MARKE_IMAGE");  
03.
[...] 
04.
return _IMAGE;  
05.
[...]
Na, findest Du den Fehler?
Bitte warten ..
Mitglied: Hitman4021
17.04.2012 um 10:07 Uhr
Hallo,

Okay das habe ich hier jetzt geändert.
01.
    public class IMAGE 
02.
03.
        private string _IMAGE;        
04.
        public string GET_IMAGE() 
05.
06.
            RegistryKey rk = 
07.
            Registry.CurrentUser.OpenSubKey 
08.
            (@"Software\CAR"); 
09.
            string _IMAGE = (string)rk.GetValue("MARKE_IMAGE"); 
10.
            rk.Close(); 
11.
            return _IMAGE; 
12.
        }    
13.
 
14.
        public string IMAGE_NAME 
15.
16.
            get { return _IMAGE; } 
17.
            set { _IMAGE = value; } 
18.
19.
    }
Aber anscheinend habe ich noch irgendwo einen Fehler?
Die Stelle wo das Bild sein sollte ist noch immer leer?

[EDIT]
Wird die Seite aufgebaut bevor der C# Code ausgewertet wird?
bzw. Ist die Variable beim Aufbau der Seite noch leer?
Ist das möglich?
[/EDIT]

mfg
Bitte warten ..
Mitglied: masterofavenger
17.04.2012 um 15:00 Uhr
Hallo,

ich denke das Du den falschen Datentyp in die Source steckst.

Lt. meinen Erfahrungen solltest Du eine ImageSource verwenden, dann sollte es klappen...
Bitte warten ..
Mitglied: Hitman4021
17.04.2012 um 18:40 Uhr
Hallo,

leider nein, ich habe jetzt statt string ImageSource verwendet aber ich bekomme noch immer kein Bild.

Ich poste hier mal den gesamten Code der 2 Seiten. Vl liegt der Fehler ja ganz woanders?
Ich komme leider echt nicht mehr weiter :/

MENÜ.xaml
01.
<Page x:Class="MENUE.TEST" 
02.
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
03.
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
04.
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"  
05.
      xmlns:my="clr-namespace:MENUE" 
06.
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008"  
07.
      mc:Ignorable="d"  
08.
      d:DesignHeight="480" d:DesignWidth="640" 
09.
	Title="MENÜ - Home"> 
10.
     
11.
        <Grid x:Name="LayoutRoot" HorizontalAlignment="Center" VerticalAlignment="Center" Width="640" Height="480"> 
12.
        <Grid.Resources> 
13.
            <my:IMAGE x:Key="myIMAGE" IMAGE_NAME="Spot"/> 
14.
        </Grid.Resources> 
15.
        <Grid.Background> 
16.
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
17.
                    <GradientStop Color="Black" Offset="0"/> 
18.
                    <GradientStop Color="White" Offset="1"/> 
19.
                </LinearGradientBrush> 
20.
            </Grid.Background> 
21.
            <GridSplitter HorizontalAlignment="Stretch" Margin="0,0,8,0" Width="640" Height="480"> 
22.
                <GridSplitter.Background> 
23.
                    <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> 
24.
                        <GradientStop Color="Black" Offset="0"/> 
25.
                        <GradientStop Color="White" Offset="1"/> 
26.
                    </LinearGradientBrush> 
27.
                </GridSplitter.Background> 
28.
            </GridSplitter> 
29.
            <Button x:Name="Car_Info" HorizontalAlignment="Left" Margin="50,50,0,0" VerticalAlignment="Top" Width="150" Height="50" Content="Car Info"/> 
30.
            <Button x:Name="Navigation" HorizontalAlignment="Left" Margin="50,150,0,0" VerticalAlignment="Top" Width="150" Height="50" Content="Navigation"/> 
31.
            <Button x:Name="MP3_Play" HorizontalAlignment="Left" Margin="50,250,0,0" VerticalAlignment="Top" Width="150" Height="50" Content="MP3 Player"/> 
32.
            <Button x:Name="Settings" HorizontalAlignment="Left" Margin="50,350,0,0" VerticalAlignment="Top" Width="150" Height="50" Content="Settings"/> 
33.
            <Image HorizontalAlignment="Right" Margin="0,115,70,115" Width="200" Height="200" Source="{Binding IMAGE_NAME, Mode=Default}" Stretch="Fill"/> 
34.
    </Grid> 
35.
</Page>
MENÜ.xaml.cs
01.
using System; 
02.
using System.Collections.Generic; 
03.
using System.Linq; 
04.
using System.Text; 
05.
using System.Windows; 
06.
using System.Windows.Controls; 
07.
using System.Windows.Data; 
08.
using System.Windows.Documents; 
09.
using System.Windows.Input; 
10.
using System.Windows.Media; 
11.
using System.Windows.Media.Imaging; 
12.
using System.Windows.Navigation; 
13.
using System.Windows.Shapes; 
14.
using System.Security.Permissions; 
15.
using Microsoft.Win32; 
16.
 
17.
[assembly: RegistryPermissionAttribute(SecurityAction.RequestMinimum, 
18.
    ViewAndModify = "HKEY_CURRENT_USER")] 
19.
 
20.
namespace MENUE 
21.
22.
    public partial class TEST : Page{ 
23.
     
24.
        public TEST() 
25.
26.
            this.InitializeComponent(); 
27.
            Car_Info.Click += new RoutedEventHandler(Car_Info_Click); 
28.
            Navigation.Click += new RoutedEventHandler(Navigation_Click); 
29.
            MP3_Play.Click += new RoutedEventHandler(MP3_Play_Click); 
30.
            Settings.Click += new RoutedEventHandler(Settings_Click); 
31.
32.
 
33.
        // Funktionen der Knöpfe 
34.
        void Car_Info_Click(object sender, RoutedEventArgs e) 
35.
36.
            this.NavigationService.Navigate(new Uri("SITE.xaml", UriKind.Relative)); 
37.
38.
 
39.
        void MP3_Play_Click(object sender, RoutedEventArgs e) 
40.
41.
            throw new NotImplementedException(); 
42.
43.
 
44.
        void Navigation_Click(object sender, RoutedEventArgs e) 
45.
46.
            throw new NotImplementedException(); 
47.
48.
        void Settings_Click(object sender, RoutedEventArgs e) 
49.
50.
            this.NavigationService.Navigate(new Uri("./Settings/Settings_Main.xaml", UriKind.Relative)); 
51.
52.
53.
 
54.
        public class IMAGE 
55.
56.
        private ImageSource _IMAGE; 
57.
        public ImageSource GET_IMAGE() 
58.
59.
            RegistryKey rk = 
60.
            Registry.CurrentUser.OpenSubKey 
61.
            (@"Software\CAR"); 
62.
            ImageSource _IMAGE = (ImageSource)rk.GetValue("MARKE_IMAGE"); 
63.
            rk.Close(); 
64.
            return _IMAGE; 
65.
66.
 
67.
        public ImageSource IMAGE_NAME 
68.
69.
            get { return _IMAGE; } 
70.
            set { _IMAGE = value; } 
71.
72.
73.
}
Hat jemand eine Idee was ich hier falsch mache?

Gruß
Hitman
Bitte warten ..
Ähnliche Inhalte
Visual Studio
gelöst C-Sharp WPF Binding TextBox.Text und Property MVVM (die 2.) (4)

Frage von mayho33 zum Thema Visual Studio ...

C und C++
C-Sharp WPF Binding und Rechnen mit Element.With (10)

Tipp von mayho33 zum Thema C und C ...

C und C++
gelöst C sharp WPF MVVM Visibility Binding funktioniert nicht bei UI

Frage von mayho33 zum Thema C und C ...

Visual Studio
gelöst C-Sharp WPF XAML CheckBox.IsEnabled wenn ListViewItem.Select (3)

Frage von mayho33 zum Thema Visual Studio ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Rechtliche Fragen
gelöst Geschäftsführer Email gefaked (18)

Frage von xbast1x zum Thema Rechtliche Fragen ...

Vmware
gelöst Update auf ESXI 6.5 Installieren (15)

Frage von zeroblue2005 zum Thema Vmware ...

Vmware
VMware ESX - Start einer VM verhindern (15)

Frage von emeriks zum Thema Vmware ...

Festplatten, SSD, Raid
gelöst Welche Software für Bandlaufwerk (14)

Frage von djonas zum Thema Festplatten, SSD, Raid ...