Preview 3: Complete control implementation with XAML data binding
Major milestone adding full control functionality: Controls Enhanced: - Entry/Editor: Full keyboard input, cursor navigation, selection, clipboard - CollectionView: Data binding, selection highlighting, scrolling - CheckBox/Switch/Slider: Interactive state management - Picker/DatePicker/TimePicker: Dropdown selection with popup overlays - ProgressBar/ActivityIndicator: Animated progress display - Button: Press/release visual states - Border/Frame: Rounded corners, stroke styling - Label: Text wrapping, alignment, decorations - Grid/StackLayout: Margin and padding support Features Added: - DisplayAlert dialogs with button actions - NavigationPage with toolbar and back navigation - Shell with flyout menu navigation - XAML value converters for data binding - Margin support in all layout containers - Popup overlay system for pickers New Samples: - TodoApp: Full CRUD task manager with NavigationPage - ShellDemo: Comprehensive control showcase Removed: - ControlGallery (replaced by ShellDemo) - LinuxDemo (replaced by TodoApp) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -55,9 +55,11 @@ public class SkiaSearchBar : SkiaView
|
||||
_entry = new SkiaEntry
|
||||
{
|
||||
Placeholder = "Search...",
|
||||
EntryBackgroundColor = SKColors.Transparent,
|
||||
BackgroundColor = SKColors.Transparent,
|
||||
BorderColor = SKColors.Transparent,
|
||||
FocusedBorderColor = SKColors.Transparent
|
||||
FocusedBorderColor = SKColors.Transparent,
|
||||
BorderWidth = 0
|
||||
};
|
||||
|
||||
_entry.TextChanged += (s, e) =>
|
||||
@@ -193,12 +195,24 @@ public class SkiaSearchBar : SkiaView
|
||||
return;
|
||||
}
|
||||
|
||||
// Forward to entry for text input focus
|
||||
// Forward to entry for text input focus and selection
|
||||
_entry.IsFocused = true;
|
||||
IsFocused = true;
|
||||
_entry.OnPointerPressed(e);
|
||||
Invalidate();
|
||||
}
|
||||
|
||||
public override void OnPointerMoved(PointerEventArgs e)
|
||||
{
|
||||
if (!IsEnabled) return;
|
||||
_entry.OnPointerMoved(e);
|
||||
}
|
||||
|
||||
public override void OnPointerReleased(PointerEventArgs e)
|
||||
{
|
||||
_entry.OnPointerReleased(e);
|
||||
}
|
||||
|
||||
public override void OnTextInput(TextInputEventArgs e)
|
||||
{
|
||||
_entry.OnTextInput(e);
|
||||
|
||||
Reference in New Issue
Block a user