ListView Hintergrundfarbe des selektierten Elements - Xamarin Forms
Die Hintergrundfarbe der selektierten ListView-Items (SelectedItemBackground) ist vom Betriebssystem vorgegeben. Es gibt keine Property, um das benutzerdefiniert einzustellen.
Workaround: per Renderer die Hintergrundfarbe auf Transparent zu stellen:
für iOS:
using System;
using Xamarin.Forms;
using Xamarin.Forms.Platform.iOS;
[assembly: ExportRenderer (typeof(ViewCell), typeof(MyAPP.iOS.CustomAllViewCellRendereriOS))]
namespace MyAPP.iOS
{
public class CustomAllViewCellRendereriOS : ViewCellRenderer
{
public override U...
Angular HowTos
Routing
<a [routerLink]="['/backkurs']" [queryParams]="{kursid: backtermin.ID}">...</a>
Math-Parser für DotNet
mXparser
Hier noch ein spezieller, der Intel SSE verwendet
Dotnet C# HowTos
sortieren einer Generic List
list.Sort( (emp1,emp2)=>emp1.FirstName.CompareTo(emp2.FirstName) );
Konfiguration WebApps (Progressive Web Apps, A2HS add-to-home-screen)
Möchte man seine (Angular-)WebApp auf dem Smartphone im Vollbildmodus laufen lassen, so sind folgende Schritte notwendig:
App-Voraussetzungen
Jede Browser-Engine hat andere Voraussetzungen, die erfüllt werden müssen, damit das "AddToHomeScreen" funktioniert. Hier mal eine Auflistung der wichtigsten Browser:
Google Chrome
Microsoft Edge
[Mozilla Firefox](https://developer.mozi...
MySQL Verbindungsabbrüche
Wenn man immer wieder mal eine Fehlermeldung bekommt "Reading from the stream has failed", dann könnte es auf ein SSL-Problem hinweisen.
Hier mal ein interessanter Artikel dazu:
MySQL Reading failed
Sourcecode-Verwaltung (GIT) und Visual Studio (Code)
Webstorm (Angular)
einfach über VCS -> Import into Version Control -> Share Project on Github.
Dann einen Repository-Namen festlegen. Achtung! Soll es eine private Repository werden, dann erstmal als public unter stephanblaurock anlegen und dann online in eine private Repository umwandeln.
Visual Studio Code (Angular)
- Ein leeres Projekt wurde erstellt.
- Dann muss zuerst mal eine .gitignore-Datei von einem anderen Angular-Projekt ins Projektverzeichnis kopiert werden.
- Danach bitte in der Kommandozeile im Projektverzeichnis `...
Angular Update-Szenarien
Updating Angular und Components
Hier gibt es eine Seite, wo man Source und Destination-Version angeben kann und bekommt eine ToDo-List, was man alles machen muss: Angular-Update-Info
Breaking-Changes
Es gibt folgendes zu beachten beim Umstieg auf Angular 6:
Wenn es folgenden Error gibt:
ERROR in ./node_modules/jszip/lib/readable-stream-browser.js
Module not found: Error: Can't resolve 'stream' in 'c:\Source\TestProject\node_modules\jszip\lib'
dann folgendes in die tsconfig.json einbauen:
{...
Angular Components
Internetverbindung prüfen (Xamarin Forms)
Manchmal muss man prüfen, ob eine Internetverbindung existiert, bevor man versucht, Ressourcen herunterzuladen. Hierfür gibt es ein Plugin (Nutet):
Die Verwendung ist denkbar einfach:
if (CrossConnectivity.Current.IsConnected) {
// your logic...
} else {
// write your code if there is no Internet available
}
In Android-Projekten muss der App die entsprechenden Zugriffsrechte erteilt werden (ACCESS_NETWORK_STATE und INTERNET):
![i...
MQTT-Implementation unter DotNet
Hier gibt es ein Package für die Implementation von MQTT unter DotNet. Es ist sogar .NET-Standard 2.0 kompatibel:
GitHub
Hier etwas Doku:
Preparation
The following code shows how to create a new MQTT client in the most simple way using the MqttFactory.
// Create a new MQTT client.
var factory = new MqttFactory();
var mqttClient = factory.CreateMqttClient();
Client options
All options for the MQTT client are bundled in one class named MqttClientOptions. It is possible to fill options m...
Verwendung von GitHub unter Visual Studio
Installation
Zuerst muss das Plugin für Visual Studio installiert werden. Hier die Anleitung:
Github-Plugin unter Visual Studio installieren
Verwendung
Beispiel für die Verwendung in Visual Studio:
Validierung von E-Mail-Adressen
Das geht am besten über diese Komponente.
Installation über nuget:
Install-Package EmailValidation
Codebeispiel:
using System;
using EmailValidation;
namespace Example {
public class Program
{
public static void Main ()
{
do {
Console.Write ("Enter an email address: ");
var input = Console.ReadLine ();
if (input == null)
break;
input = input.Trim ();
Console.WriteLine ("{0} is {1}!", inpu...
Mail-API für DotNet
Vollständige Mail-API zum Senden und Empfangen von E-Mails über SMTP/IMAP/POP3.
Hier ein kleines Beispiel, wie man eine Nachricht versendet:
One of the more common operations that MailKit is meant for is sending email messages.
using System;
using MailKit.Net.Smtp;
using MailKit;
using MimeKit;
namespace TestClient {
class Program
{
public static void Main (string[] args)
{
var message = new MimeMessage ();
message.From.Add (new MailboxAddress ("Joey Tribbiani", "joey@friends.com"));
message.To.Add (new MailboxAddress ...
SMTP-Server-Komponente für DotNet
Damit lässt sich ganz einfach ein SMTP-Dienst unter DotNet realisieren.
Beispiel:
var options = new SmtpServerOptionsBuilder()
.ServerName("localhost")
.Port(25, 587)
.Build();
var smtpServer = new SmtpServer.SmtpServer(options);
await smtpServer.StartAsync(CancellationToken.None);
Verwendung von Actions (c#)
Im Hauptelement wird die Action wie folgt definiert:
// Deklaration
private Action<EmbeddedUI> _CallbackOnSave;
public void SetCallbackOnSave(Action<EmbeddedUI> callback) {
_CallbackOnSave = callback;
}
// Aufruf
_CallbackOnSave?.Invoke(this);
Im Element, in dem die Action ausgeführt werden soll
ui.SetCallbackOnSave(action => RefreshNote()); // Action beinhaltet die Instanz von EmbeddedUI
// oder eben auch:
ui.SetCallbackOnSave(RefreshNote);
private void RefreshNote(EmbeddedUI ui) {
// code
}
Oder direkt als Lambda-B...
MySQL Baumstruktur (Tree) selektieren (SELECT)
Oft möchte man eine Baumstruktur in einer MySQL-Tabelle selektieren.
+--------+-------------------+
| Parent | Child |
+--------+-------------------+
| 1 | 2,3 |
| 2 | 4,5,6,7,8,9,10,11 |
| 6 | 12,13,14 |
| 8 | 15,16,17,18 |
| 12 | 19 |
| 14 | 20,21,22 |
| 19 | 23 |
+--------+-------------------+
DROP PROCEDURE IF EXISTS objsubtree;
DELIMITER go
CREATE PROCEDURE objsubtree( root char(18) )
BEGIN
DROP TABLE IF EXIS...
DotNet WebBrowser-Control mit EDGE-Render-Engine
Um die Edge-Rendering-Engine (anstatt IE) im DotNet-Webbrowser-Control zu verwenden muss in der Registry folgender Eintrag gemacht werden:
For 64bit applications, 32bit only Windows or current user:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"Example.exe"=dword:00002ee1 respectively [HKEY_CURRENT_USER\...]
For 32bit applications on 64 bit machines (only machine-wide):
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FE...
Ruby unter Ubuntu installieren (linux)
Für eine reine Ruby-Umgebung müssen folgende Bibliotheken über
sudo apt-get install <bib>
installiert werden.
folgende sind notwendig:
ruby, ruby-dev, make, curl, libgmp3-dev, gcc, g++, zlib1g-dev
Wenn die Ruby-Projekte unter Github.com verwaltet werden sollen, dann bitte noch git installieren
sudo apt-get install git-core