Win8 M3 (7989) findings relevant to Managed .net & WPF/SL developers

Discussion in 'Windows 8' started by SilverlightWPF, Jun 19, 2011.

  1. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    #21 NaiveUser, Jun 19, 2011
    Last edited: Jun 19, 2011
    alright, previously I said there is no INotifyPropertyChanged and ItemsControl.ItemsSource in DirectUI in 7955.
    now they are actually here in 7989 as Windows.UI.DirectUI.Data.INotifyPropertyChanged and Windows.UI.DirectUI.Controls.ItemsControl.ItemsSource.
    and there is more bridging code in CLR to support exposing CLR object as PropertyValue etc, so DataBinding may actually work in 7989.

    and there is IValueConverter !
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    there is Window/WebView/WebViewBrush in Windows.UI.DirectUI namespace.
    and a Window have a CoreWindow property which is a wrapper for HWND.

    and, can you test that if this WebView have the 'airspace' problem with other controls ??
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    and Windows.UI.DirectUI.Media.Animation has been flooded by easing stuff. can you revalidate your previous speculation about the animation changes ?
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. SilverlightWPF

    SilverlightWPF MDL Junior Member

    Jun 11, 2011
    69
    8
    0
    NaiveUser im more than happy to look into the above and create some samples... tomorrow after work ill jump into codeing
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    oh and Windows.UI.DirectUI.FrameworkElement.DataContext is an 'object' now, not a 'PropertyValue' as in 7955
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. mike.strobel

    mike.strobel MDL Novice

    Jun 14, 2011
    5
    0
    0
    #26 mike.strobel, Jun 19, 2011
    Last edited: Jun 19, 2011
    ICollectionView on its own has little to do with UI controls; like IVectorView, it provides a filtered, grouped, and sorted view of a collection. It also provides some additional functionality like tracking the current selection. Anyway, as NativeUser was hinting, ICollectionView has nothing to do with UI virtualization. Since IVectorView is a similar but even lighter-weight interface, it has nothing to do with virtualization either.

    UI virtualization, in fact, has nothing to do with the data source; it's a function of the control rendering the data (or, in WPF's case, the items host panel). The data source could support data virtualization, but that's another matter entirely.
     
  7. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    oh and ItemsControl.Items is an ItemCollection (which implements IObservableVector<object>) now, not just an IObservableVector<IPropertyValue> something in 7955.

    suggetions, you can try to modify those xaml files of glcnd and see if the glcnd ui will change as you like.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  8. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. SilverlightWPF

    SilverlightWPF MDL Junior Member

    Jun 11, 2011
    69
    8
    0
    #29 SilverlightWPF, Jun 21, 2011
    Last edited: Jun 21, 2011
    (OP)
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  10. SilverlightWPF

    SilverlightWPF MDL Junior Member

    Jun 11, 2011
    69
    8
    0
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  11. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    #31 NaiveUser, Jun 21, 2011
    Last edited: Jun 21, 2011
    ah yes ! 'marketing' name is another story ! I think 'Jupiter' or 'the whole framework exposed by WinRT/WinMD' will be branded as 'Windows Runtime' because its a catchy name. but technically this will be a confusing name. how do you refer to the underlying COM-like WinRT funtions in COMBASE.DLL etc ?

    Power to the common sense !
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  12. methodbeat

    methodbeat MDL Member

    Apr 28, 2011
    224
    70
    10
    you're having internet problems xD
     
  13. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    oh my. one more clue for these naming stuff.

    the 'Jupiter Window' is now called 'WinRT UI Window' in 7989 !! so Jupiter == WinRT UI ? :rolleyes:

    and, the letters in 'Jupiter' can be reordered to be something like 'JepRT UI', but this is just nonsese. :D
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  14. bored_neo

    bored_neo MDL Junior Member

    Jun 3, 2011
    53
    26
    0
    Yep, it works, at least for single values, haven't tried collections (ItemsSource).
     
  15. bored_neo

    bored_neo MDL Junior Member

    Jun 3, 2011
    53
    26
    0
    Speaking of naming: there's a new service called Broker Infrastructure and the description of the service is this:

    "Coordinates execution of background work for WinRT applications."
     
  16. bored_neo

    bored_neo MDL Junior Member

    Jun 3, 2011
    53
    26
    0
    System.Runtime.WindowsRuntime contains a bunch of async related extensions. GetAwaiter included. So I guess C#'s await will work with WinRT's IAsyncInfo? Cool! :)
     
  17. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  18. bored_neo

    bored_neo MDL Junior Member

    Jun 3, 2011
    53
    26
    0
    #38 bored_neo, Jun 22, 2011
    Last edited by a moderator: Apr 20, 2017
    In C++ data binding can be implemented by using an InMemoryPropertyStore (there may be other ways too, like implementing ICustomPropertyProvider but I haven't tried). Something like this:

    Code:
    IPropertyValue *propVal;
    hr = factory->CreateDouble(42.3, &propVal);
    void *propName;
    hr = WinCreateString(L"foo", wcslen(L"foo"), &propName);
    bool succees;
    hr = store->Insert(propName, propVal, &succees);
    hr = page->SetValue(dataContextProp, store);
    
    PS: I got the InMemoryPropertyStore idea from the PDF reader. Speaking of it, the XAML files used by the PDF reader have been mentioned already but I'm not sure people realized what happened between the current leaked build and the previous one: they moved the reader from the old DirectUI (dui70.dll) to the new DirectUI (DirectUI.dll) :)
     
  19. Specialised

    Specialised MDL Novice

    Jun 22, 2011
    4
    0
    0
    hahaha, idk bout that
     
  20. NaiveUser

    NaiveUser MDL Senior Member

    Apr 14, 2011
    419
    523
    10
    #40 NaiveUser, Jun 22, 2011
    Last edited by a moderator: Apr 20, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...