George Birbilis' blog
...discussing pretty much everything
Παρουσίαση με Ετικέτες
Όλες οι Ετικέτε...
»
Posts
»
.NET
»
ClipFlair
(RSS)
Alias Types
AmnesiaOfWho
Analysis
API
Architecture
Array
ASP.net
Audio
Binding
Border
Bugs
Captioning
Characters
Class
Codec
Compatibility
Compression
Configuration
Contracts
Controls
Conversion
CurrentCulture
Data
Decorator
DependencyProperty
Development
DLL
Documentation
Downloads
EndsWith
Errors
Extensions
Fail
Filename
Filesystem
Filters
Fix
Folders
Formatting
GDI+
Gotcha
GraphX
HowTo
HTTP
IIS
Image
Information
Invalid
Launch
Layout
Links
Lists
Margin
MEF
Methods
Methos
MMPPF
Multimedia
Porting
Prefix
Programming
Properties
PropertyMetadata
Reference
RegEx
Replace
Scaling
Screenshot
Security
Serialization
Silverlight
SMF
Source
Speex
StackPanel
StartsWith
String
StringComparison
Structured
Styles
Suffix
Suggestions
TimeUpDown
Toolkit
Transforms
UI
Uri
URL
Version
VisualStudio
Web
WinForms
Workarround
WPF
Xamarin
XAML
XAMLParseException
XML
ZIP
ZUI
Structuring (physical) source and (virtual) solution folders for portability
05 Ιουνίου 15 06:40 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
Copying here those comments of mine at a discussion on the GraphX project: https://github.com/panthernet/GraphX/issues/21 describing the source code (physical) folder structure and the Visual Studio solution (virtual) folder structure I’ve been using at ClipFlair and other multi-platform projects. —— looking at the folders/projects/libraries/namespaces naming, I think it would be more appropriate to add the platform […]
Source code analyzers for .NET porting & Portable Class Libraries (PCL)
05 Ιουνίου 15 06:04 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
.NET Portability Analyzer extension https://visualstudiogallery.msdn.microsoft.com/1177943e-cfb7-4822-a8a6-e56c7905292b API Portability Analyzer – Alpha (command-line version) http://www.microsoft.com/en-us/download/details.aspx?id=42678 PLIB API XLS https://onedrive.live.com/view.aspx?resid=8A7FB4A4B32FB2C9!180&app=Excel&authkey=!AHaBmLAhQ49YCI0 Xamarin Scanner (How Mobile is your .NET code?) http://scan.xamarin.com/ Tagged: .NET, Analysis, API, ClipFlair, GraphX, PCL, Porting, Source, Xamarin
HowTo: Use MEF to implement import/export etc. plugin architecture
03 Ιουνίου 15 01:13 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
Copying here my comment at a discussion on the GraphX project: https://github.com/panthernet/GraphX/pull/15 in case it helps somebody in using MEF (Managed Extensibility Framework) in their software’s architecture ——– Using static classes instead of interfaces can mean though that you need to use reflection to call them (e.g. if you wan to have a list of […]
Gotcha: System.IO.GetInvalidPathChars result not guaranteed
04 Απριλίου 14 12:54 πμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
at System.IO.Path.GetInvalidPathChars one reads: The array returned from this method is not guaranteed to contain the complete set of characters that are invalid in file and directory names note: can also call this method from non-trusted Silverlight app – not as Intellisense tooltip wrongly says in Visual Studio 2013 with Silverlight 5.1 I just found […]
Gotcha: .NET Point and PointConverter inconsistency in string format used
22 Νοεμβρίου 13 01:47 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
I have submitted the following issue to Microsoft Connect (product feedback center): http://connect.microsoft.com/VisualStudio/feedback/details/809084/point-class-issue-with-two-way-databinding Point class issue with two-way databinding In Silverlight, when using databinding code like the following: <StackPanel Orientation="Vertical" Name="propPosition"> <sdk:Label Style="{StaticResource PropertyLabelStyle}" Content="Position:" Target="{Binding ElementName=edPosition}" /> <TextBox Name="edPosition" Text="{Binding Position, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=true}" /> </StackPanel> and binding (via DataContext) to […]
HowTo: Display version information on WinForm title
20 Αυγούστου 13 11:39 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
This is my contribution to http://stackoverflow.com/questions/7178725/version-number-in-winform-form-text I’m using the following at the WinForm of the WebCapture tool I’m making for ClipFlair: public MainForm() { InitializeComponent(); Version version = Assembly.GetExecutingAssembly().GetName().Version; Text = Text + " " + version.Major + "." + version.Minor + " (build " + version.Build + ")"; //change form title } Not showing […]
HowTo: Save screenshot of a control hosted on a WinForm
20 Αυγούστου 13 06:38 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
I’m trying to automate grabbing of activity screenshots from ClipFlair Activity Gallery, but most command-line screen capturing tools, like SiteShoter and IECapt fail to get an image from Silverlight content (they get just a background color). Some other opensource tool that I could tweek was ThumbPage, but that didn’t support command-line and needed to disable […]
HowTo: Bind ASP.net control to list of files or folders
15 Ιουλίου 13 03:33 πμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
At from ClipFlair Gallery metadata input pages for Activities and Clips I had to bind an ASP.net control to a list of files and folders respectively and although I found a Folder Contents DataSource control, it didn’t cover my needs (like filtering of a folder contents). I just contributed my solution using .NET Anonymous Types and […]
HowTo: Remove invalid filename characters in .NET
12 Ιουλίου 13 11:28 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
In ClipFlair Studio I use DotNetZip (Ionic.Zip) library for storing components (like the activity and its nested child components) to ZIP archives (.clipflair or .clipflair.zip files). Inside the ZIP archive its child components have their own .clipflair.zip file and so on (so that you could even nest activities at any depth) which construct their filename […]
.NET String extension methods to check for array of prefixes or suffixes
05 Απριλίου 13 10:51 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
Seems StartsWith and EndsWith methods of String class in .NET are missing a version that accepts multiple (as an array) prefixes or suffixes respectively when testing the string. To achieve this I just added the following extension methods to StringExtensions class (of Utils.Extensions namespace) under Utils.Silverlight project at the ClipFlair source code. public static bool [...]
.NET String class extensions to replace prefix or suffix
26 Μαρτίου 13 05:47 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
Just added the following extension methods to StringExtensions class (of Utils.Extensions namespace) under Utils.Silverlight project at the ClipFlair source code. public static string ReplacePrefix( this string s, string fromPrefix, string toPrefix, StringComparison comparisonType) { return (s.StartsWith(fromPrefix, comparisonType)) ? toPrefix + s.Substring(fromPrefix.Length) : s; } public static string ReplacePrefix( this string s, string[] fromPrefix, string toPrefix, [...]
HowTo: format XML output of DataContractSerializer
22 Φεβρουαρίου 13 04:52 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
based on the other samples posted at StackOverflow on how to format XML created by DataContractSerializer, that use XmlWriter, here’s a version (from ClipFlair source code) that works with streams (and Ionic.Zip library in specific). It also shows how the code is when you don’t apply formatting (using conditional compilation). Just comment out the #define [...]
HowTo: load CaptionElements into Silverlight Media Framework player
03 Σεπτεμβρίου 12 03:38 πμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
Trying to make CaptionsGridWindow of ClipFlair serve captions editing on-the-fly to SMF (Silverlight Media Framework [now called MMPPF]) player component, I had a real hard time, plagued by a bug at TimedTextElementStyle. It seems to be setting default FontSize for captions using a “Cell” unit instead of using a “Pixel” unit. Currently SMF only supports [...]
HowTo: Scale control arround its center using a render transform
15 Αυγούστου 12 07:02 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
In the context of ClipFlair development, I was recently adding independent scaling (zooming) functionality to its ZUI container’s floating windows (apart from the container zooming functionality) and came across some strange behavior, where the windows seemed to also move apart from getting scaled. After banging my head a bit I decided to take a closer [...]
HowTo: Bind to a DataContext property named Source in XAML
14 Αυγούστου 12 03:27 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
While refactoring ClipFlair code to use MVVM (Model-View-ViewModel) pattern, I came across the XAML error “Object reference not set to an instance of an object.”, shown in Visual Studio when trying to bind to my ViewModel (accessed implicitly, being set as the DataContext of the XAML control) for a property named Source. I have settled [...]
Gotcha: Silverlight DependencyProperty metadata: 0d not 0 for double
09 Αυγούστου 12 11:38 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
Just came accross a runtime error message that troubled me a bit to resolve while adding Prezi-like content scaling functionality in ClipFlair‘s FloatingWindowHostZUI (ZUI = Zoomable User Interface) container. I had added the following: /// Identifies the <see cref="FloatingWindow.Scale" /> dependency property. /// </summary> /// <value> /// The identifier for the <see cref="FloatingWindow.Scale" /> dependency [...]
HowTo: Compress speech audio using CSpeex codec at Silverlight apps
04 Αυγούστου 12 07:15 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
Following up on my post on how to fix CSpeex (http://cspeex.codeplex.com) to compile at Silverlight 5 (see http://zoomicon.wordpress.com/2012/06/09/fix-compile-cspeex-audio-codec-at-silverlight-4-rc-and-silverlight-5/). Initially I thought it was not working correctly, but then I noticed I was running it on Terminal Server and didn’t have an audio device available. Running SLAudioDemo included in the CSpeex distribution (after doing the fix [...]
Gotcha: Silverlight’s Uri class constructor eats up part after last slash
22 Ιουλίου 12 10:54 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
Via trial and error, I recently found out that when creating a Uri combining another Uri and a suffix part (tried at Silverlight, but I guess it’s a .NET issue in general), it eats up the last part of the (first) Uri if it doesn’t end with "/". That is, if you combine http://test.com/a with [...]
Fix: The tag ‘TimeUpDown’ does not exist in XML namespace (Silverlight Toolkit)
14 Ιουλίου 12 07:59 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
If you use TimeUpDown control from Silverlight Toolkit in your XAML like below (copy pasting from CaptionGrid at ClipFlair source): <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" > <DataTemplate x:Key="StartTimeCellTemplate"> <TextBlock Margin="4" Text="{Binding Begin}" /> </DataTemplate> <DataTemplate x:Key="StartTimeCellEditTemplate"> <!-- <TextBox Margin="4" Text="{Binding Begin, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=true}" /> --> <input:TimeUpDown Format="hh:mm:ss" Value="{Binding Begin, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=true}" /> </DataTemplate> … </ResourceDictionary> [...]
Set default document for IIS via web.config at Silverlight Web project
13 Ιουλίου 12 04:29 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
When you tell the Visual Studio IDE to generate a web project (instead of just using an autogenerated page) for a Silverlight project, it creates a project named SilverlightAppName.Web with a SilverlightAppNameTestPage.aspx (ASP.net) and an SilverlightAppNameTestPage.html. Either one can be served from a web server (obviously the .aspx one from IIS or any web server [...]
How to crash Visual Studio 2010 via (Silverlight) XAML recursion bug
12 Ιουλίου 12 04:42 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
Following up on a note about Visual Studio 2010 crashing at my previous post, this is the XAML that crashes VS2010 when opened up in a Silverlight project: <UserControl x:Class="SilverlightApplication1.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="400"> <UserControl.Resources> <ResourceDictionary> <Style x:Key="MyStyle" TargetType="StackPanel"> <Setter Property="Margin" Value="0,5,0,5" [...]
How to space StackPanel items in XAML (has no Padding property)
11 Ιουλίου 12 01:34 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
While adding some properties to the back panels of ClipFlair windows, I came upon the issue of how to space items in a StackPanel. A Padding property is missing from multiple item containers (only single content controls have such), but a nice solution is described at: http://stackoverflow.com/questions/932510/how-do-i-space-out-the-child-elements-of-a-stackpanel Sergey Aldoukhov suggested there (WPF example): Use Margin [...]
Collection of useful links for .NET, Silverlight, WPF etc. development
05 Ιουλίου 12 12:22 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
During the development of ClipFlair (currently at Alpha1-internal version), I’ve been doing lots of research, hunting for information (documentation, related discussion threads, useful download links) needed when writing and refactoring source code etc. I have tried to organize these links as (Windows) Internet shortcut files into folders. They do need some further restructuring, but they [...]
How to compile code that uses WPF Decorator type in Silverlight
04 Ιουλίου 12 09:57 μμ
|
Μπιρμπίλης Γεώργιος
|
0 σχόλια
At ClipFlair I’m using a modified version of FloatingWindow control, where I try to make the WPF and Silverlight flavours of the original control share as much code as possible (this is work in progress currently, hoping to eventually have the WPF and Silverlight projects both link to the same source files [this is currently [...]
Search
Go
Το Ιστολόγιο
Αρχική Σελίδα
Επικοινωνία
Ετικέτες
.NET
ASP.net
Audio
Authoring
Automation
Batch
Binding
Browser
Bugs
C#
Class
ClipFlair
Compatibility
Compression
Computers
Computers and Internet
Controls
Corruption
CSS
Data
Database
Downloads
Education
Errors
Events
Extensions
Fail
Filesystem
Filters
Fix
Free
Games
Google
Gotcha
HowTo
HTML
HTML5
HTTP
IDE
IE
IE9
IIS
Installation
Installers
Java
Javascript
Kinect
Law
Layout
Links
Localization
Maps
Media
MediaElement
Methods
Microsoft
MVC
None
Plugins
Posts
Programming
Python
RegEx
Replace
Resources
Search
Security
Selection
Silverlight
Smart Classroom
SMF
Source
String
Suggestion
Suggestions
Syntax
Text
trafilm
Transforms
Troubleshooting
UI
Updates
URL
Usability
Video
Visual Studio
Visualization
VisualStudio
Web
Windows
Windows 10
Windows 7
Word
WordPress
Workarround
WPF
XAML
ZIP
ZUI
Αταξινόμητα
Πλοήγηση
Αρχική σελίδα
Ιστολόγια
Συζητήσεις
Εκθέσεις Φωτογραφιών
Αρχειοθήκες
Ιστορικό Δημοσιεύσεων
Ιούνιος 2021 (1)
Απρίλιος 2021 (1)
Φεβρουάριος 2021 (2)
Ιανουάριος 2021 (2)
Αύγουστος 2020 (3)
Ιούλιος 2020 (2)
Απρίλιος 2020 (2)
Μάρτιος 2020 (3)
Φεβρουάριος 2020 (2)
Δεκέμβριος 2019 (1)
Νοέμβριος 2019 (1)
Οκτώβριος 2019 (2)
Αύγουστος 2019 (1)
Ιούνιος 2019 (2)
Απρίλιος 2019 (3)
Ιανουάριος 2019 (1)
Νοέμβριος 2018 (4)
Οκτώβριος 2018 (4)
Σεπτέμβριος 2018 (2)
Αύγουστος 2018 (2)
Ιούνιος 2018 (3)
Μάρτιος 2018 (2)
Φεβρουάριος 2018 (1)
Νοέμβριος 2017 (4)
Ιούνιος 2017 (1)
Απρίλιος 2017 (1)
Μάρτιος 2017 (1)
Μάιος 2016 (5)
Ιανουάριος 2016 (1)
Δεκέμβριος 2015 (7)
Νοέμβριος 2015 (12)
Οκτώβριος 2015 (2)
Σεπτέμβριος 2015 (3)
Αύγουστος 2015 (9)
Ιούλιος 2015 (1)
Ιούνιος 2015 (3)
Μάιος 2015 (1)
Απρίλιος 2015 (2)
Μάρτιος 2015 (2)
Φεβρουάριος 2015 (1)
Ιανουάριος 2015 (2)
Δεκέμβριος 2014 (3)
Νοέμβριος 2014 (3)
Οκτώβριος 2014 (1)
Σεπτέμβριος 2014 (2)
Αύγουστος 2014 (6)
Ιούλιος 2014 (1)
Μάιος 2014 (1)
Απρίλιος 2014 (2)
Μάρτιος 2014 (3)
Φεβρουάριος 2014 (2)
Δεκέμβριος 2013 (2)
Νοέμβριος 2013 (2)
Σεπτέμβριος 2013 (2)
Αύγουστος 2013 (3)
Ιούλιος 2013 (5)
Ιούνιος 2013 (2)
Μάιος 2013 (3)
Απρίλιος 2013 (2)
Μάρτιος 2013 (2)
Φεβρουάριος 2013 (4)
Δεκέμβριος 2012 (6)
Νοέμβριος 2012 (11)
Οκτώβριος 2012 (5)
Σεπτέμβριος 2012 (2)
Αύγουστος 2012 (9)
Ιούλιος 2012 (11)
Ιούνιος 2012 (8)
Μάιος 2012 (2)
Απρίλιος 2012 (2)
Φεβρουάριος 2012 (5)
Ιανουάριος 2012 (5)
Δεκέμβριος 2011 (8)
Νοέμβριος 2011 (3)
Οκτώβριος 2011 (4)
Σεπτέμβριος 2011 (8)
Ιούλιος 2011 (3)
Ιούνιος 2011 (2)
Μάιος 2011 (2)
Μάρτιος 2011 (4)
Φεβρουάριος 2011 (8)
Ιανουάριος 2011 (2)
Δεκέμβριος 2010 (1)
Νοέμβριος 2010 (3)
Οκτώβριος 2010 (12)
Σεπτέμβριος 2010 (2)
Αύγουστος 2010 (2)
Ιούλιος 2010 (9)
Ιούνιος 2010 (3)
Μάιος 2010 (11)
Απρίλιος 2010 (15)
Μάρτιος 2010 (13)
Φεβρουάριος 2010 (15)
Ιανουάριος 2010 (4)
Δεκέμβριος 2009 (3)
Νοέμβριος 2009 (15)
Οκτώβριος 2009 (26)
Σεπτέμβριος 2009 (13)
Αύγουστος 2009 (8)
Ιούλιος 2009 (8)
Ιούνιος 2009 (4)
Μάιος 2009 (4)
Απρίλιος 2009 (7)
Μάρτιος 2009 (8)
Φεβρουάριος 2009 (8)
Ιανουάριος 2009 (3)
Δεκέμβριος 2008 (31)
Νοέμβριος 2008 (24)
Οκτώβριος 2008 (1)
Μάιος 2008 (2)
Αύγουστος 2007 (1)
Νοέμβριος 2006 (1)
Σεπτέμβριος 2006 (1)
Συνδρομές
RSS 2.0
Atom 0.3