Laden...

Forenbeiträge von akunz Ingesamt 173 Beiträge

10.10.2015 - 11:08 Uhr

Wow, das ging erstaunlich schnell und unkompliziert.

Jetzt versuche ich dependencyInjection per Unity in meinem Beispiel-WebApi Projekt zu verwenden.

Und zwar folgendermaßen:

Global.asax:


var unity = new UnityContainer();
unity.RegisterType<IMSSql, MSSql>()
       .RegisterType<IProductRepository, ProductRepository>();
GlobalConfiguration.Configuration.DependencyResolver = new UnityResolver(unity);

ProductsController.cs


 public ProductsController(IProductRepository productRepository)
 {
       this.productRepository = productRepository;
 }

Das funktioniert auch, allerdings hätte ich lieber eine Setter-Injection ala:


[Dependency]
private IProductRepository ProductRepository { get; set; }

Das wiederum funktioniert nicht.
Jemand ne Ahnung woran das liegen könnte?
In einer WPF-Anwendung funktioniert das Einwandfrei.

09.10.2015 - 11:06 Uhr

Ok, also definitiv WebApi.

dann mach ich mal auf die Suche nach nem kleinen WebApi+IIS Tutorial

08.10.2015 - 21:05 Uhr

Hi,

ist es jetzt, also zwei Jahre später, immer noch so?

Wenn der REST-Service allgemeiner, also nicht im Rahmen einer Web-Anwendung, verfügbar sein soll(te), so sehe ich WCF-REST vorteilhafter, da

Ich stehe nämlich gerade vor folgenden Aufgabe.

Ich möchte REST-Services mit C# erstellen die nur mobile Clients (Android, iOS, WindowsPhone) bedienen. Es gib meist max. 15 unterschiedliche Rest-Calls.
Das ganze soll im IIS gehostet werden.

Ist dort immer noch WCF die bessere Wahl oder sollte man besser WebApi nehmen?

Ich habe schon nach WCF + IIS tutorials gesucht, habe aber immer Probleme was aktuelles zu finden. Die meisten Tutorials sind ca. 3 Jahre alt. Hat einer nen gutes aktuelles Tutorial?

22.07.2014 - 13:58 Uhr

Wie ich herausgefunden habe geht dies erst unter WindowsPhone 8.1.

Und zwar folgerndemaßen;

private async void Button_Click(object sender, RoutedEventArgs e)
        {
            HttpClient aClient = new HttpClient();
            
            HttpResponseMessage aResp = await aClient.GetAsync(new Uri("https://www.microsoft.com"));
            string aStr = aResp.RequestMessage.TransportInformation.ServerCertificate.Subject


        }
14.07.2014 - 09:17 Uhr

Hallo,

ist es möglich auf dem WindowsPhone das verwendete x.509 Zertifikat auszulesen um zum Beispiel den Herausgeber zu ermitteln?

Gruß
akunz

16.06.2014 - 10:32 Uhr

Ich habe ein, vielleicht etwas unschöne, Lösung gefunden.

Ich habe den einzelnen Bildern -1 Margins verpasst. Damit verschwinden die Haarlinien.

16.06.2014 - 10:02 Uhr

Wenn du keinen Auswärtssupport zu WP7 hast ist das doch egal. 8.1 wird ein Update für JEDES WP8 Phone. Sprich kannst du ruhig auf 8.1 Migrieren zumal du dadurch auch en Support zu Windows Apps quasi eingebaut hast 😃

8.1 sollte auch bald raus kommen. Also von dahher.

Das ist leider momentan keine Alternative.
Die App wird für Windows Phone 8 rauskommen.

13.06.2014 - 11:50 Uhr


>

Dort steht das
>
dem wohl am nächsten kommt.

Ich bin leider mit Windows Phone 8 unterwegs.

Minimum supported phone
Windows Phone 8.1 [Windows Runtime apps only]

13.06.2014 - 10:17 Uhr

Leider gibt es unter WindowsPhone "SnapsToDevicePixels" nicht.

12.06.2014 - 12:55 Uhr

Könnte das trotz Strech ein Skalierungsfehler sein, da WPF keine absoluten Pixelgrößten verwendet; Du aber absolute Pixelgrößen durch die PNG hast...?

Ich habe absolute Pixelgrößen.

Diese beziehen sich auf die 480x800 Auflösung und werden zum Beispiel auf die WXGA (768x1280) gestretcht.

12.06.2014 - 10:10 Uhr

Hallo,

ich habe eine Windows Phone App bei der ich mehrere Bilder zusammensetze um einen 9Patch-Button zu erzeugen.

Hier ein Ausschnitt meines Styles


  <Grid>
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="40" />
                                        <RowDefinition Height="*" />
                                        <RowDefinition Height="40" />
                                    </Grid.RowDefinitions>
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="40" />
                                        <ColumnDefinition Width="*" />
                                        <ColumnDefinition Width="40" />
                                    </Grid.ColumnDefinitions>

                                    <!--  Ecken  -->
                                    <Image Source="/Assets/Images/AllRes/ButtonLeftTop.png" Stretch="Fill" />
                                    <Image Grid.Column="2"
                                           Source="/Assets/Images/AllRes/ButtonRightTop.png"
                                           Stretch="Fill" />
                                    <Image Grid.Row="2"
                                           Source="/Assets/Images/AllRes/ButtonLeftBottom.png"
                                           Stretch="Fill" />
                                    <Image Grid.Row="2"
                                           Grid.Column="2"
                                           Source="/Assets/Images/AllRes/ButtonRightBottom.png"
                                           Stretch="Fill" />

                                    <!--  Kanten  -->

                                    <!--  .top  -->

                                    <Image Grid.Column="1"
                                           Source="/Assets/Images/AllRes/ButtonTop.png"
                                           Stretch="Fill" />

                                    <!--  botton  -->

                                    <Image Grid.Row="2"
                                           Grid.Column="1"
                                           Source="/Assets/Images/AllRes/ButtonBottom.png"
                                           Stretch="Fill" />

                                    <!--  left  -->

                                    <Image Grid.Row="1"
                                           Source="/Assets/Images/AllRes/ButtonLeft.png"
                                           Stretch="Fill" />

                                    <!--  right  -->


                                    <Image Grid.Row="1"
                                           Grid.Column="2"
                                           Source="/Assets/Images/AllRes/ButtonRight.png"
                                           Stretch="Fill" />
                                    <!--  Center  -->

                                    <Image Grid.Row="1"
                                           Grid.Column="1"
                                           Source="/Assets/Images/AllRes/ButtonCenter.png"
                                           Stretch="Fill" />

                                </Grid>


Manche Buttons werden korrekt angezeigt.
Manche haben eine erkennbare Haarlinie zwischen den Grafiken.

Hat jemand eine Idee woran das liegen könnte?

12.06.2014 - 10:06 Uhr

Hi,

kannst du nicht einfach immer das Event zunächst immer canceln:

 e.Cancel = true 

und dann abhängig von der Korrektheit deiner Daten "händisch" zurück navigieren.

28.05.2014 - 12:08 Uhr

tatsächlich.... wenn ich das vorschaufenster ausschalte, dann habe ich den fehler (bis jetzt) nicht reproduzieren können. falls doch, meld ich mich hier wieder 😃

Vermutlich sperrt das Vorschaufenster die Datei solange sie sie liest. Daher der Fehler

27.05.2014 - 14:23 Uhr

Hi,

wenn ich mir das Video so anschaue, dann fällt mir auf, dass die Vorschau im Explorer zum Zeitpunkt des Fehlers noch nicht geladen ist.

Kannst du mal das Vorschaufeature im Explorer abschalten und das ganze nochmal probieren.

19.05.2014 - 08:51 Uhr

Hi,

das Thema hat sich erledigt. Leider kann ich nicht sagen woran es gelegen hat.
Da es auch nach mehreren Neustart usw. immer noch nicht funktionierte habe ich das ganze ruhen lassen.

Nach ein paar Tagen ging es wieder.

11.04.2014 - 13:33 Uhr

Hallo,

bezogen auf XAML Resource wird nicht gefunden von mir, habe ich eine neue Fragestellung.

Ausgangsituation.

Ich habe mehrere XAML-Dateien mit ResourceDictionarys in einer WindowsPhone Library:

A.xaml
B.xaml
usw.

Darin sind alle möglichen Styles und Brushes definiert.


<Color x:Key="ColorForegroundHeader">#FFFFFFFF</Color>
    <SolidColorBrush x:Key="BrushForegroundHeader" Color="{StaticResource ColorForegroundHeader}" />
    <Style x:Key="RectangleTopBar" TargetType="Rectangle">
         <Setter Property="Height" Value="30" />....
...

Ich nenne diese Styles mal "OLD_Styles"

Jetzt werden zu Laufzeit neue Styledateien bereitgestellt, bzw. deren URIs (/MeineApp;component/CustomTheme/ButtonStyles.xaml).


<Style x:Key="RectangleTopBar" TargetType="Rectangle">
     <Setter Property="Height" Value="20" />....


Ich nenne diese Styles mal "NEW_Styles"


Folgendes Verhalten möchte ich jetzt erreichen.

Meine Anwendung soll jetzt in den Ressourcen folgende Styles haben:

  • Alle NEW_Styles
  • Die OLD_Styles, die nicht in den NEW_Styles neu definiert wurden.

--

Gibt es eine Möglichkeit, alle Style-XAML Dateien einzulesen.
Diese nach der oben erwähnten Regel zu mergen.
Und Anschließend als Styles für die Anwendung festzulegen?

10.04.2014 - 17:38 Uhr

Das ist ein etwas komplizierteres System.

Ich habe ein XAML-Datei mit Styles


<SolidColorBrush x:Key="BrushButtonBackground" Color="Gray" /> 

<Style x:Key="ButtonDefaultStyle" TargetType="Button">
         <Setter Property="Background" Value="{StaticResource BrushButtonBackground}" />
         <Setter Property="BorderBrush" Value="{StaticResource PhoneForegroundBrush}" />
   ....
         <Setter Property="Template">
             <Setter.Value>
                ...
                         <Border x:Name="ButtonBackground"
                                 Margin="{StaticResource PhoneTouchTargetOverhang}"
                                 Background="{StaticResource BrushButtonBackground}"
                                 BorderBrush="{TemplateBinding BorderBrush}"
                                 BorderThickness="{TemplateBinding BorderThickness}"
                                 CornerRadius="0">
                             <ContentControl x:Name="ContentContainer"
                                             HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                                             VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
                                             Content="{TemplateBinding Content}"
                                             ContentTemplate="{TemplateBinding ContentTemplate}"
                                             Foreground="{StaticResource BrushButtonForeground}"
                                             Padding="{TemplateBinding Padding}" />
                         </Border>
                     </Grid>
                 </ControlTemplate>
             </Setter.Value>
         </Setter> 

Beim Start der Anwendung werden aus einer Library dynamisch weitere Style Dateien geladen.

In dieser dynamisch geladenen Datei steht jetzt zum Beispiel.


<SolidColorBrush x:Key="BrushButtonBackground" Color="Blue" /> 

Diese dynamischen Styles sollen jetzt die schon vorhandenen Styles überschreiben, sofern eine Sie in der dynamisch geladenen Datei vorhanden sin.

10.04.2014 - 17:10 Uhr

DynamicResource anstatt StaticResource verwenden.

Ich befinde mich leider in einer WindowsPhone App, und da gibt es DynamicResource nicht

10.04.2014 - 09:10 Uhr

Hallo,

ich habe im Visual Studio 2012 einige Unittest für ein Windows Phone Projekt geschrieben. (Alles im Visual Studio Test-Explorer)

Die ersten zwei Tests habe ich geschrieben und ausgeführt -> alles super.

Jetzt habe ich zwei neue Tests geschrieben und jetzt lassen sich die Tests nicht mehr starten.

Da steht immer "Erstellen erfolgreich" und dann "Testlauf nicht ausgeführt".

Ich hab schon alles ausprobiert, bekomme die Tests aber nicht mehr zum Laufen.

09.04.2014 - 15:56 Uhr

Hallo,

zu dem selben Beispiel habe ich eine weitere Frage.

Wenn ich im CodeBehind, nach dem Start der Anwendung den Style

  <SolidColorBrush x:Key="BrushButtonBackground" Color="Gray" /> 

Gray durch Green überschreibe, ändert sich die Farbe des Buttons nicht. Was muss machen damit sie sich ändert?

03.04.2014 - 11:44 Uhr

Hallo,

ich habe in einer WindowsPhone App eigene Style in mehreren Dateien definiert.


<ResourceDictionary.MergedDictionaries>
	<ResourceDictionary Source="DefaultStyles.xaml" />
	<ResourceDictionary Source="ButtonStyles.xaml" />
</ResourceDictionary.MergedDictionaries>

In der Datei DefaultStyles.xaml liegt zum Beispiel folgender Style:

   <SolidColorBrush x:Key="BrushButtonBackground" Color="Gray" />

In den ButtonStyles.xaml möchte ich jetzt den Brush verwenden:



    <Style x:Key="ButtonDefaultStyle" TargetType="Button">
        <Setter Property="Background" Value="{StaticResource BrushButtonBackground}" /> 
        <Setter Property="BorderBrush" Value="{StaticResource PhoneForegroundBrush}" />
  ....
        <Setter Property="Template">
            <Setter.Value>
               ...
                        <Border x:Name="ButtonBackground"
                                Margin="{StaticResource PhoneTouchTargetOverhang}"
                                Background="{StaticResource BrushButtonBackground}"
                                BorderBrush="{TemplateBinding BorderBrush}"
                                BorderThickness="{TemplateBinding BorderThickness}"
                                CornerRadius="0">
                            <ContentControl x:Name="ContentContainer"
                                            HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
                                            VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
                                            Content="{TemplateBinding Content}"
                                            ContentTemplate="{TemplateBinding ContentTemplate}"
                                            Foreground="{StaticResource BrushButtonForeground}"
                                            Padding="{TemplateBinding Padding}" />
                        </Border>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>

Leider gibt mir folgende Zeile den Fehler aus das der Brush nicht existiert

    <Setter Property="Background" Value="{StaticResource BrushButtonBackground}" /> 

Im Template kann ich den Brush wiederum verwenden.

  <Border x:Name="ButtonBackground"
                                Margin="{StaticResource PhoneTouchTargetOverhang}"
                                Background="{StaticResource BrushButtonBackground}"

Woran liegt das?

18.03.2014 - 11:53 Uhr

Ja, danke funktioniert.

Ich hatte noch einen Tippfehler in dem String und dachte es liegt daran das die Library das Hauptprojekt nicht kennt.

18.03.2014 - 10:19 Uhr

Hallo,

meine (Windows Phone) Projektmappe hat folgenden Aufbau.

MyLib (Klassenbibiliothek)
 - Images
 |- einBild.png 
- MainPage.xaml

MyApp (Windows Phone App)
 - Images
 |- einAnderesBild.png

In MyLib steckt die ganze Logik und MyApp erhält hauptsächlich Grafiken usw.

Jetzt möchte ich das Bild "einAnderesBild.png" auf der MainPage.xaml verwenden.

Ist das möglich auch, wenn ja wie?

06.03.2014 - 12:22 Uhr

Hi,

hatte vor kurzen das umgekehrte Problem, ich wollte das das Fenster NICHT angezeigt wird.

Wenn ich das richtig sehe muss du die Aufgabe so konfigurieren das sie unter deinem Benutzer ausgeführt wird.

03.03.2014 - 08:13 Uhr

HI,

Windows Phone 7.1 Apps laufen auch unter Windows Phone 8.

Gruß
Andre

02.03.2014 - 17:06 Uhr

Ich werde es jetzt erstmal über die Aufgabenplanung machen und schauen ob das so funktioniert wir ich mir das vorstelle.

02.03.2014 - 17:03 Uhr

Hallo,

ich versuche mit dem Visual Studio 2013 Apps für Windows RT zu erstellen.
Dabei habe ich immer das Problem das ich keine Vorschau der Oberfläche in der Entwurfsansicht angezeigt bekomme (siehe Anhang)
In Studio 2012 funktioniert es.

Weiß jemand woran das liegen könnte?

22.02.2014 - 16:28 Uhr

Warum schreibst du die Einträge aus der Datenbank nicht gleich in die Aufgabenplanung? Dann hängt die Zuverlässigkeit deren Ausführung nicht an deiner Anwendung bzw. deinem Service.

Sagen wir jemand schriebt 1000 Einträge in die Datenbank.
Dann erstell ich 1000 Aufgaben in der Aufgabenplanung, die zum passenden Zeitpunkt einmal ausgeführt werden.
Richtig?

21.02.2014 - 20:42 Uhr

Lass die Einträge durch den Service hinzugefügen. Der kann sich einen lokalen Cache ansammeln, der immer die nächsten X Einträge kombiniert aus DateTime und Zeilen-ID beinhaltet.
Ansonsten SqlDependency und der Service soll informiert werden, wenns einen neuen Eintrag gibt.

Der Rest ist Deine Sache.
Zuverlässigkeit und Dauerhaftigkeit sind Umsetzungskriterien, die Du als Entwickler zu erfüllen hast.

Habe mir SqlDependency angeschaut und das sieht sehr vielversprechend aus.

Nochmal zu der Projektstruktur:
Es gibt einen WCF-Service der neue Einträge in die Datenbank schreibt.

Und es soll ein neues Programm (oder Service) entstehen, das die Einträge abarbeitet und zwar zu einer bestimmten Zeit.

Habe jetzt Testweise eine Konsolenanwendung geschrieben die SqlDependency verwendet um von neuen Einträgen zu erfahren.

Beispieldatensätze
ID - Datum - ...
1 - 2014-02-22 12:00:00
2 - 2014-02-22 16:00:00
3 - 2014-02-22 18:00:00

Ist folgende Umsetzung gut?

Die Anwendung hat eine Liste mit den IDs und dem Datum.
In der Anwendung läuft ein Timer der passend zum nächsten Datum die Zeile bearbeitet, also zum Beispiel morgen mittag.

Wenn der WCF-Service einen neuen Tabelleneintrag macht, bekommt die Konsolenanwendung dies über SqlDependency mit. Er fügt die ID und das Datum in die Liste ein und ändert den Timer evtl. auf das neue Datum, wenn dieses früher ist.

Die Anwendung läuft also dauerhaft und reagiert entweder auf SqlDependency-Events oder das Timer-Event.

--

Sollte die Anwendung aus welchem Grund auch immer abstürzen, würde ich sie gerne durch die Windows-Aufgabenplanung neu starten.
Geht das, dass die Aufgabenplanung die Anwendung nur startet, wenn Sie noch nicht läuft? Oder muss man die Abfrage ob die Anwendung läuft selber Implementieren?

18.02.2014 - 13:54 Uhr

Hallo,

hier zunächst ein Beschreibung meines Problems.

Ich habe eine MSSql Datenbank, wo durch einen Service in eine Tabelle Einträge geschrieben werden.

Die Einträge haben immer einen DateTime-Wert. Dieser sagt aus, wann der Eintrag bearbeitet werden soll.

Jetzt brauche ich ein Programm (oder einen Dienst oder was auch immer), das die Einträge zum passenden Zeitpunkt aus der Datenbank lädt und weiter verarbeitet.

Herausforderungen

Das Programm sollte zuverlässig und dauerhaft laufen.

Der nächste zu bearbeitende Eintrag aus der Datenbank könnte noch nicht existieren. Also es könnte sein das der nächste Eintrag erst in eine Stunde bearbeitet werden soll, und dann vom Service ein neuer Eintrag erstellt wird, der schon in 10 Minuten bearbeitet werden muss.


Wie kann ich das am Besten lösen. Mit eine Windows Dienst, oder einem Programm mit internen Timer, oder..?

05.02.2014 - 13:42 Uhr

Hi akunz,

...Brauchst du nur ein Unter-Control (der Datentyp des Propertys deutet darauf hin), mußt du dir ein CustomControl erstellen mit einem ContentPresenter für das ContentProperty.

Hier gibt es eine ausführliche Erklärung:
>

Christian

Danke! So hat es Funktioniert.

Ein paar Zusatzinfos habe ich mir noch hier her geholt (Da es für Windows Phone ist): http://www.geekchamp.com/articles/creating-a-wp7-custom-control-in-7-steps

05.02.2014 - 11:13 Uhr

Das ändern leider nichts.

Um Missvertändnisse auszuschließen.
Ich versuche im Codebehind der Page auf das Grid zuzugreifen, nicht im Codebehind meines Usercontrols.


<Page>
...
<backs:MainBackUC>
             <Grid x:Name="contentGrid">
         ...
         </Grid>
</backs:MainBackUC> 

...
</page>

04.02.2014 - 09:53 Uhr

Hallo,

ich habe ein Usercontrol, welches ich auf mehreren Pages verwenden möchte.


[ContentProperty("Children")]
    public partial class MainBackUC : UserControl
    {

        public UIElement Children
        {
            get { return (UIElement)GetValue(ChildrenProperty); }
            set
            {
                SetValue(ChildrenProperty, value);
            }
        }
        public static readonly DependencyProperty ChildrenProperty =
            DependencyProperty.Register("Children", typeof(UIElement), typeof(MainBackUC), new PropertyMetadata(null));

        public MainBackUC()
        {
            InitializeComponent();

        }
    }

Das Usercontrol bietet eine Art Rahmen für den Inhalt und wird zum Beispiel so verwendet.


 <backs:MainBackUC>
            <Grid x:Name="contentGrid">
	    ...
	    </Grid>
</backs:MainBackUC>
	   

Da funktioniert alles, das Grid wird an der richtigen Stelle korrekt angezeigt.

Allerdings kann ich im Codebehind nicht auf das Grid zugreifen.
contentGrid ist immer null.

Was muss ich anders machen um das hinzubekommen?

31.01.2014 - 14:50 Uhr

Da fallen mir gerade noch ein paar Sachen ein zur Kinect.

Wenn du die Kinect per Code startest sind die ersten Bilder (Farb und Tiefen) nicht zu gebrauchen, wegen AutoFocus usw.

Wir haben damals die ersten paar Bilder weggeschmissen und erst dann ausgewertet.

Hier noch etwas Code:


 void runtime_DepthFrameReady(object sender, ImageFrameReadyEventArgs e)
{
    
    PlanarImage Image = e.ImageFrame.Image;

    BitmapSource bs = BitmapSource.Create(Image.Width, Image.Height, 96, 96, PixelFormats.Bgr565, null, Image.Bits, Image.Width * Image.BytesPerPixel);
...
}

30.01.2014 - 15:12 Uhr
  Diesen Ansatz finde ich sehr interessant. Kennst du zufällig dieses Event, weil ich schon gesucht habe und es leider nicht finden konnte.

Hab noch etwas alten Code von mir gefunden:


  private void KinectImageThread(object stateInfo)
        {
            if (runtime == null)
            {
                runtime = new Runtime();
                runtime.Initialize(RuntimeOptions.UseColor | RuntimeOptions.UseDepth);

                runtime.DepthFrameReady += new EventHandler<ImageFrameReadyEventArgs>(runtime_DepthFrameReady);
                runtime.DepthStream.Open(ImageStreamType.Depth, 2, ImageResolution.Resolution640x480, ImageType.Depth);

              
                runtime.VideoFrameReady += new EventHandler<ImageFrameReadyEventArgs>(runtime_VideoFrameReady);
                runtime.VideoStream.Open(ImageStreamType.Video, 2, ImageResolution.Resolution1280x1024, ImageType.Color);
            }
        }

29.01.2014 - 18:14 Uhr

Hi,

folgende Fragen habe ich dazu:

Weißt du immer ganz genau, wo sich im Tiefenbild "Die Kiste" befindet, bzw. welche Koordinaten die Fläche dazwischen beschreiben?

Was ist "depthstream" und wann wird es gesetzt?

Soweit ich mich erinnere kannst du ein Event benutzen, dass von der Kinect ausgelöst wird, immer dann wenn das Tiefenbild aufgenommen wurde.

Also entweder sammelst du nen Zeit lang mehrere Tiefenbilder in einer Liste und wertest dann zum Beispeil aus, sobald du 10 Stück hast, oder du wertest jedes Tiefenbild aus, sobald der Event kommt und speicherst das Ergebnis.


Ist es bei der aktuellen Kinect eigentlich immer noch so das das Tiefenbild eine andere Auflösung als das Farbbild hat?

09.01.2014 - 18:33 Uhr

Danke.

Habe mir nen ValueConverter geschrieben, der die Doublezahl richtig darstellt.

09.01.2014 - 13:03 Uhr

Hallo,

ich habe in einer WinRT Anwendung das Problem, dass in allen Textblocks und TextBoxen große Doublewerte immer als Exponentialzahl dargestellt werden.

Es steht also immer so da:
2.22222e+015

Weiß jemand wie man diese Einstellung ändert oder woran das liegt?

05.11.2013 - 17:45 Uhr

Ich glaube er bezieht sich nicht auf Windows Phone 8 sondern auf Windows 8 Apps.

Die Google suche liefert aber auch hier gute Ergebnisse

30.10.2013 - 13:54 Uhr

Hi,

ich habe den Fehler gefunden.

Und zwar existiert ein UserControl das den Fehler auslöst sobald ich es mehr als einmal im XAML verwende.

ich vermute das es an der DependencyProperty liegt, vielmehr Quellcode ist auch nicht in der Klasse.

Vielleicht kann ja mal jemand nen Blick drauf werfen.


 public partial class PercentBarUC : UserControl
    {
	    ....

	public int Value1
        {
            get { return (int)GetValue(Value1Property); }
            set { SetValue(Value1Property, value); }
        }

        public static readonly DependencyProperty Value1Property =
            DependencyProperty.Register("Value1", typeof(int), typeof(PercentBarUC),
            new PropertyMetadata(OnValue1Changed));

        private static void OnValue1Changed(DependencyObject property, DependencyPropertyChangedEventArgs args)
        {
            try
            {
                PercentBarUC fu = property as PercentBarUC;
                if (args.NewValue == null)
                {
                    return;
                }
                fu.SetValue1((int)args.NewValue);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);

            }
        }
        public void SetValue1(int fe)
        {
           Val1 = fe;
            Refresh();
        }
	
	...
	 }
}

29.10.2013 - 13:04 Uhr

Hi,

ich habe das gerade ausprobiert, allerdings kamen dort zwar Meldungen, aber keine Fehlermeldungen an.
Evtl. mache ich was falsch.

Ich habe zweimal Visual Studio 2012 gestartet.
Im ersten habe ich mein Projekt geöffnet im zweiten mich an den Prozess angehangen (Debug->An Prozess anhängen)

Dann erhalte ich im zweiten Studio die Meldungen. Wenn ich die Fehlerhafte XAML-Datei öffne kommt im zweiten Studio kein Fehler. Im ersten werden aber die Fehler angezeigt (siehe ersten Post)

29.10.2013 - 11:52 Uhr

Hi,

das ist ja mein Problem.
Ich hab ne XAML-Datei die diese Fehler anzeigt.
Ich kann gerne die Datei (die sehr groß ist) posten, das wird aber vermutlich wenig helfen.

Meine Frage ist ja nicht: "Sagt mir bitte was an der XAML falsch ist"

sondern: "Ich habe nen nicht aussagekräftigen XAML-Fehler. Welche Möglichkeiten, Tools oder Vorgehensweisen gibt es diesem auf die Spur zu kommen."

28.10.2013 - 15:56 Uhr

Niemand eine Idee?

25.10.2013 - 00:10 Uhr

Hallo,

ich habe ein Windows Phone Projekt.

In der XAML Datei erscheint dabei oft der Fehler "Der Wert liegt außerhalb des erwarteten Bereichs". Zudem sieht man in der Vorschau eine ArgumentException und den Stacktrace. (siehe Bild im Anhang)

Damit lässt sich das Projekt nicht ausführen. Erstelle ich die Projektmappe neu verschwindet der Fehler sofort und kehrt dann irgendwann wieder.

Leider kann ich den Fehler in der XAML-Datei nicht lokalisieren.
Ich habe schon größere Bereiche auskommentiert um den Fehler zu finden, aber da die Datei sehr groß ist und der Fehler eben nur sporadisch auftritt hat mich das bisher nicht voran gebracht.

Gibt es eine Chance die Zeile zu finden die den Fehler verursacht?


Ganz selten kommt auch mal folgende Fehler im Vorschaufenster, wenn ich etwas in der XAML Datei geändert habe:

Fehlermeldung:
Microsoft.Expression.DesignHost.Isolation.Remoting.RemoteException
Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei Microsoft.Phone.Controls.Design.PivotItemAdorner.Activate(ModelItem item)
bei Microsoft.Windows.Design.Interaction.AdornerProvider.InvokeActivate(EditingContext context, ModelItem item)
bei MS.Internal.Features.AdornerProviderFeatureConnector.FeatureProvidersAdded(ModelItem item, IEnumerable1 extensions) bei Microsoft.Windows.Design.Policies.PolicyDrivenFeatureConnector1.UpdateFeatureProviders()
bei MS.Internal.Features.PolicyDrivenToolFeatureConnector1.UpdateCurrentTool(Tool newTool) bei MS.Internal.Features.PolicyDrivenToolFeatureConnector1.<.ctor>b__0(Tool newTool)
bei Microsoft.Windows.Design.ContextItemManager.SubscribeProxy1.SubscribeContext(ContextItem item) bei Microsoft.Windows.Design.SubscribeContextCallback.Invoke(ContextItem item) bei Microsoft.Windows.Design.EditingContext.DefaultContextItemManager.OnItemChanged(ContextItem item) bei Microsoft.Windows.Design.EditingContext.DefaultContextItemManager.SetValue(ContextItem value) bei Microsoft.Expression.DesignSurface.ViewModel.Extensibility.ExtensibilityManager.set_CurrentTool(Tool value) bei Microsoft.Expression.DesignSurface.ViewModel.Extensibility.ExtensibilityManager.ToolManager_ActiveToolChanged(Object sender, ToolEventArgs e) bei Microsoft.Expression.DesignSurface.Tools.ToolEventHandler.Invoke(Object sender, ToolEventArgs e) bei Microsoft.Expression.DesignSurface.Tools.ToolManager.OnActiveToolChanged(ToolEventArgs e) bei Microsoft.Expression.DesignSurface.Tools.ToolManager.set_ActiveTool(Tool value) bei Microsoft.Expression.DesignSurface.Tools.ToolManager.UpdateHostTool() bei Microsoft.Expression.DesignSurface.Tools.ToolManager.AttachHostListener() bei Microsoft.Expression.DesignSurface.Tools.ToolManager.DocumentViewContext_ActiveViewChanged(Object sender, ViewChangedEventArgs e) bei System.EventHandler1.Invoke(Object sender, TEventArgs e)
bei Microsoft.Expression.DesignSurface.DocumentViewContext.OnActiveViewChanged(ViewChangedEventArgs e)
bei Microsoft.Expression.DesignSurface.DocumentViewContext.SetActiveDocumentAndView(SceneView view, Item item, HostViewEventArgs e)
bei Microsoft.Expression.DesignSurface.DocumentViewContext.SetActiveView(SceneView view, HostViewEventArgs e)
bei Microsoft.Expression.DesignSurface.DocumentViewContext.ViewService_ActiveViewChanged(Object sender, HostViewEventArgs e)
bei Microsoft.Expression.DesignHost.Isolation.Remoting.LocalEvent`3.<>c__DisplayClass19.<Invoke>b__18()
bei Microsoft.Expression.DesignHost.Isolation.Remoting.STAMarshaler.Call.InvokeWorker()
bei Microsoft.Expression.DesignHost.Isolation.Remoting.STAMarshaler.Call.Invoke(Boolean waitingInExternalCall)
bei Microsoft.Expression.DesignHost.Isolation.Remoting.STAMarshaler.InvokeCall(Call call)
bei Microsoft.Expression.DesignHost.Isolation.Remoting.STAMarshaler.ProcessQueue(CallQueue queue)
bei Microsoft.Expression.DesignHost.Isolation.Remoting.STAMarshaler.ProcessInboundQueue(Int32 identity)
bei Microsoft.Expression.DesignHost.Isolation.Remoting.STAMarshaler.ProcessMessage(Int32 msg, IntPtr wParam, Boolean elevatedQuery, Boolean& handled)
bei Microsoft.Expression.DesignHost.Isolation.Remoting.STAMarshaler.OnWindowMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
bei Microsoft.Expression.DesignHost.Isolation.Remoting.MessageOnlyHwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
bei MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
bei System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
bei System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
bei System.Windows.Threading.Dispatcher.Run()
bei System.Windows.Application.RunDispatcher(Object ignore)
bei System.Windows.Application.RunInternal(Window window)
bei System.Windows.Application.Run(Window window)
bei Microsoft.Expression.DesignHost.Isolation.IsolationProcess.RunApplication()
bei Microsoft.Expression.DesignHost.Isolation.IsolationProcess.<>c__DisplayClass2.<Main>b__0()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()

16.10.2013 - 20:45 Uhr

Danke ProGamer das ist genau das was ich gesucht habe.

16.10.2013 - 10:37 Uhr

verwendetes Datenbanksystem: MSSQL

Hallo,

ich würde gerne folgendes selektieren.

Und zwar habe ich eine Tabelle, wo zum Beispiel 100 Datensätze vorhanden sind.

Tabelle:

  • Datum
  • Wert
  • ...

Jetzt würde ich gerne immer 10 Datensätze Gruppieren um eine Summe über die Spalte Wert zu bilden.

Geht sowas, wie:
SELECT SUM(Wert) FROM Tabelle ORDER BY Datum GROUP BY (immer 10 Datensätze)

04.09.2013 - 11:34 Uhr

Danke schon mal für die Antwort.

Ich bin mir selbst nicht sicher was ich suche 😃

Es geht mir um die Konzeptgedanken dahinter.
Ein Beispiel für einen Teil des Konzept könnte zum Beispiel folgendes sein:

WSDL.exe generiert Code für den Client. Der Programmierer schreibt niemals in diesem Code und der Generator generiert niemals irgendetwas in die händisch erstellten Codedateien. Es gibt also ein strikte Trennung zwischen generierten und programmierten Code.

Ein anderes Konzept kenne ich von einem anderen Generator. Dieser erzeugt zusätzlich Code-Dateien mit Methodenstubs, die der Programmierer füllen muss.
Das heißt also, wenn der Programmierer diese Methoden ausprogrammiert hat, muss der Generator aufpassen das der händische Code nicht verloren geht, wenn man neu generiert.


Ich suche also eine Möglichkeit Generatoren zu vergleichen. Und dazu Suche ich Konzeptbeschreibungen, damit ich Attribute extrahieren kann um die Generatoren zu vergleichen.

04.09.2013 - 10:49 Uhr

Hallo,

ich suche zu Recherchezwecken nach Informationen zur WSDL.exe bzw. der Funktionalität zum automatischen generieren von Client Code im VisualStudio (Add Service Referenz).

Ich werde da irgendwie nicht fündig. Es stoße immer nur auf Tutorials.

Gibt es so ne Art Konzeptpaper, was sich Microsoft dabei gedacht hat, was damit geht und was nicht.

07.08.2013 - 19:01 Uhr

Hi,

ich benötige ein eigenes UserControl (eine Art Grid) in einem Windows Phone Projekt.
Dabei wird eine Klasse an das UserControl gebunden die so ähnlich aussieht:


public class Raster {
   public ObservableCollection<ObservableCollection<EinFeld>> Feld
        {
            get { return feld; }
            set { feld = value; }
        }
}

Das UserControl soll aus der Listen von Listen ein zweidimensionales Grid erstellen. Dazu habe ich ein neues UserControl angelegt.


<UserControl 
   ....
    <Border BorderBrush="White" BorderThickness="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
        <Grid x:Name="theGrid" Background="Red" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">

        </Grid>
        
    </Border>
</UserControl>

und eine DependyProperty hinzugefügt


 public partial class RasterUC : UserControl
    {
        public RasterUC()
        {
            InitializeComponent();
        }

        public Raster RasterSource
        {
            get { return (Raster)GetValue(RasterSourceProperty); }
            set {SetValue(RasterSourceProperty, value);}
        }
        // Using a DependencyProperty as the backing store for MyProperty.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty RasterSourceProperty =
            DependencyProperty.Register("RasterSource", typeof(Raster), typeof(RasterUC), new PropertyMetadata(null, OnRasterSourceChanged));

        private static void OnRasterSourceChanged(DependencyObject property, DependencyPropertyChangedEventArgs args)
        {
             RasterUC ruc = (RasterUC)property;
             ruc.ReloadRaster(args.NewValue as Raster);
        }

        public void ReloadRaster(Raster r) 
        {
            theGrid.Children.Clear();
            theGrid.RowDefinitions.Clear();
            theGrid.ColumnDefinitions.Clear();
            if (r == null)
            {
                return;
            }
            theGrid.Background = new SolidColorBrush(Colors.Green);
            // Griddefinition
            for (int i = 0; i < r.RasterSize; i++)
            {
                RowDefinition rowDef = new RowDefinition() { Height = new GridLength(1,GridUnitType.Star) };
                theGrid.RowDefinitions.Add(rowDef);
                ColumnDefinition colDef = new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Star) };
                theGrid.ColumnDefinitions.Add(colDef);
            }
	}
}

Bis hierhin funktioniert alles wie ich mir das Vorstelle.
Ich hoffe das ist auch alles Best Practice?

Jetzt kommt meine Frage.

Ich habe ein weiteres UserControl das in jedem Feld des Grids angezeigt werden soll. An dieses Control möchte ich die einzelnen Elemente der Liste binden, also die Klasse EinFeld.
Die Elemente der Liste bleiben immer gleich, allerdings ändern sich einige Properties der Klasse EinFeld die sich dann auf die Anzeige der "inneren UserControls" auswirken.
Wie muss ich vorgehen um das zu Lösen?


Ich hab in dem USerControl schon eine DependencyProperty für EinFeld gemacht und das Bindinf im Codebehind des Grid-Usercontrols gesetzt.


FeldUC fu = new FeldUC();
Binding binding = new Binding(); 
binding.Source = r.Feld[i][j]; 
fu.SetBinding(FeldUC.FeldProperty, binding);
Grid.SetRow(fu, i);
Grid.SetColumn(fu, j);
theGrid.Children.Add(fu);

Allerdings bekomme ich so die Änderungen der Properties ja nicht mit.

31.07.2013 - 21:51 Uhr

Hi,

du könntest den Quellcode etwas auseinander nehmen.

So ungefähr könnte es gehen (mal schnell hingetippt)


int postion = 0;

public void NextAlbum() 
{
    if(AllAlben.Count > postion) 
    {
         string Album = AllAlben[position];
          if (Album != "")
           {
                    wb.Navigate(Album.Split('|')[1]);
           }
          Position++;
    }
}

public DocumentCompleted(...) 
{
   NextAlbum();
}