* Add an item with null values to the SelectingItemsControl test data
* Fixed NullReferenceException when SelectedValueBinding evulates to null
Fixed SelectedValue bindings being overwritten when a new item is selected
* Add an event so that users can detect when an Application icon is clicked.
* refactor to use Lifetime apis.
* use ActivationKind instead of reason to be consistent with other xaml platforms
* implement macos raise url events.
* add docs.
* add apis to programatically Activate and Deactivate the application.
This allows the dock icon to be kept in sync so its menu options there say "Hide" / "Show" correctly.
* fix api naming.
* Add Browser IActivatableApplicationLifetime impl
* Implement IActivatableApplicationLifetime on Android
* Add IActivatableApplicationLifetime iOS implementation
* Adjust android impl a little
---------
Co-authored-by: Max Katz <maxkatz6@outlook.com>
#Conflicts:
# src/Browser/Avalonia.Browser/Interop/InputHelper.cs
# src/Browser/Avalonia.Browser/webapp/modules/avalonia/input.ts
* Create wrapper for IApiInformationStatics
* Use ApiInformation APIs to get if WinRT types are supported
* Add some docs
#Conflicts:
# src/Windows/Avalonia.Win32/Input/WindowsInputPane.cs
# src/Windows/Avalonia.Win32/WinRT/winrt.idl
# src/Windows/Avalonia.Win32/WindowImpl.cs
* Adds the ImmutablePenWithDynamicBrush and fixes Border and Shape border re-rendering when changing Brush value
* Removes the ImmutablePenWithDynamicBrush, rollback to Pen
* Cache and reuse Pen
* Move all Pen's updating logic to Pen.TryModifyOrCreate
* Add some tests for Pen.TryModifyOrCreate
* Add proper handling for DashStyle
* Invert condition in Pen.TryModifyOrCreate, fixes the logic
---------
Co-authored-by: Max Katz <maxkatz6@outlook.com>
Co-authored-by: Tim <47110241+timunie@users.noreply.github.com>
* Fix IOSStorageFolder permission problem
This commit fixes "Operation not permitted" errors when accessing
folders opened via StorageProvider.OpenFolderPickerAsync by calling
[Start/Stop]AccessingSecurityScopedResource on IOSStorageFolder's
Url.
* Narrow down security scoped resource access scope
Wrap individual operations in [Start/Stop]AccessingSecurityScopedResource
calls instead of retaining access for the whole lifetime of the folder.
#Conflicts:
# src/iOS/Avalonia.iOS/Storage/IOSStorageItem.cs
* Add SelectingItemsControl property init order tests
* Property order in SelectedItemsControl doesn't matter on init
* Fix SelectedItemsControl properties during init when Selection is set
* Fixed SelectedItemsControl.AnchorIndex after init
#6059 changed `ContextMenu.Open` to open the context menu at the bottom of the control when the `ContextRequestedEventArgs` doesn't contain a position, however it also had the side-effect of preventing the `Placement` property from being respected when opening a `ContextMenu` from code.
Change the private `Open` method to accept a `PlacementMode` instead of a boolean flag, and only pass `Bottom` here when `ContextRequestedEventArgs` has no requested position.
Fixes#12504
* TabItem.TabStripPlacemenet should be correctly set
* fix: TabItem.TabStripPlacemenet should be correctly set
* move TabItemStripPlacement assignment to PrepareContainerForItemOverride
* remove excessive UpdateTabStripPlacement call on TabStripPlacementProperty.Changed
#Conflicts:
# tests/Avalonia.Controls.UnitTests/TabControlTests.cs
* Implement basic writeable IList on DataGridCollectionView hopefully it won't break anything else
* Make preference over DataGridCollectionView in DataGridDataConnection
* Updated RenderDataRectangleNode.HitTest to properly hit-test rounded rectangles.
* Moved rounded rectangle contains logic to the RoundedRect struct, added unit tests, and refactored previous RenderDataRectangleNode changes.
* Fixed a comment typo.
* Added a private access modifier to a method.
- Renamed `ItemsControlFromItemContaner` in `ItemsControlFromItemContainer'
- Add `ItemsControlFromItemContaner` with attributes `Obsolete` and `EditorBrowsable Never` that call `ItemsControlFromItemContainer`
* fix: Avalonia.Generators not found
if you put SourceGenerators.props in a project with path are like this:"C:\GitHub\Avalonia\sample\mobile\android\ANoteSample\ANoteSample.csproj", the Compiler is not able to found `Avalonia.Generators`
* test: Add test #10046 Xaml Compiler error when code-behind class contains a DllImport method
* fix: Xaml Compiler error when code-behind class contains a DllImport method
* fix: Address Review
* fix: ValidateApiDiff has thrown an exception
* Physical key handling for Windows
* Physical key handling for macOS
* Physical key handling for X11
* Physical keys: cleanup unused keys
* Key symbols: ensure consistent behavior between platforms
* Fix dead key symbol for Windows
* Physical key handling for browser
* Physical keys: use new overloads where possible
* Key symbol for VNC
* Physical key handling in previewer
* Key symbol for forwarded X11 IME key
* Key symbol for Android
* Obsolete old RawKeyEventArgs ctor
* Fix key symbols for macOS with modifiers
* Adjust PhysicalKey members naming
* Use explicit std::hash for AvnKey/AvnPhysicalKey
Should hopefully satisfy the older compiler on the CI server
* Headless: added KeyPressQwerty
---------
Co-authored-by: Dan Walmsley <dan@walms.co.uk>
Co-authored-by: Steven Kirk <grokys@users.noreply.github.com>
* Add failing test for RangeBase overriding Value on DataContext changed
* Add bool flag to skip coercing min, max and value while DataContext is
changing
* Add failing unit test for scenario 1 in #11878.
* Set TabOnceActiveElement on realized container.
Fixes scenario 1 in #11878.
* Use TabOnceActiveElement to decide focused element.
Fixes scenario #3 in #11878.