Top-Themen

Aktuelle Themen (A bis Z)

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, 3863 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
C-Sharp WPF Binding TextBox.Text und Property MVVM
gelöst Frage von mayho33Visual Studio5 Kommentare

Hi @ All! Komplett neu auf dem Gebiet WPF komme irgendwie mit dem Binding Textbox.Text zu Property und umgekehrt ...

C und C++
C-Sharp WPF Binding und Rechnen mit Element.With
Tipp von mayho33C und C++10 Kommentare

Hi @ All Eventuell geht es dem einen oder anderen ähnlich wie mir: WPF ist mächtig, hat aber seine ...

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

Hallo @ All! Ich habe eine Frage zum Binding eines UI (UserControl) via MVVM und hoffe auf eure Hilfe! ...

Visual Studio
C-Sharp WPF Binding TextBox.Text und Property MVVM (die 2.)
gelöst Frage von mayho33Visual Studio4 Kommentare

Hallo @ All Offensichtlich habe ich MVVM noch nicht wirklich verstanden und brauche nochmal eure Hilfe dazu. in diesem ...

Neue Wissensbeiträge
Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 1 StundeMicrosoft Office2 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Erkennung und -Abwehr

Sicherheitslücke Spectre und Meltdown: Status prüfen

Anleitung von Frank vor 7 StundenErkennung und -Abwehr2 Kommentare

Nach all den Updates der letzten Woche sollte man unbedingt auch den Status prüfen, ob die Sicherheitslücken Spectre, Meltdown ...

Microsoft Office

Office 2010 Starter erneut auf einer frischen Windows-Version installieren

Tipp von Lochkartenstanzer vor 1 TagMicrosoft Office9 Kommentare

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 1 TagDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Drucker und Scanner
Gesucht DIN A3 Drucker
Frage von NebellichtDrucker und Scanner15 Kommentare

Hallo, ich möchte einen neuen DIN A3 Drucker kaufen. Um ab und zu, ca. 1 mal die Woche Farbausdrucke ...

iOS
Einladung vom iphone kalender
Frage von jensgebkeniOS15 Kommentare

Hallo Gemeinschaft, folgendes Problem - immer wenn ich von meinem Iphone einen Termin einztrage und diesem Termin Teilnehmer zuweise, ...

Batch & Shell
Dateien verschieben mit batch
gelöst Frage von michi-ffmBatch & Shell13 Kommentare

Hallo Zusammen hat jemand evtl eine Idee? Zunächst hier das Skript: Leider werden keine UNC-Pfade unterstüzt, kann mir jemand ...