diff --git a/src/ReactiveUI.SourceGenerators.Execute/TestViewModel.cs b/src/ReactiveUI.SourceGenerators.Execute/TestViewModel.cs
index 65b013e..366ca11 100644
--- a/src/ReactiveUI.SourceGenerators.Execute/TestViewModel.cs
+++ b/src/ReactiveUI.SourceGenerators.Execute/TestViewModel.cs
@@ -227,6 +227,15 @@ public TestViewModel()
[Reactive]
public partial string? PartialPropertyTest { get; set; }
+ ///
+ /// Gets or sets the partial property test.
+ ///
+ ///
+ /// The partial property test.
+ ///
+ [Reactive(UseRequired = true)]
+ public required partial string? PartialRequiredPropertyTest { get; set; }
+
///
/// Gets the internal test property. Should not prompt to replace with INPC Reactive Property.
///
diff --git a/src/ReactiveUI.SourceGenerators.Roslyn/Reactive/ReactiveGenerator.Execute.cs b/src/ReactiveUI.SourceGenerators.Roslyn/Reactive/ReactiveGenerator.Execute.cs
index 2037c33..7180adf 100644
--- a/src/ReactiveUI.SourceGenerators.Roslyn/Reactive/ReactiveGenerator.Execute.cs
+++ b/src/ReactiveUI.SourceGenerators.Roslyn/Reactive/ReactiveGenerator.Execute.cs
@@ -72,7 +72,10 @@ public sealed partial class ReactiveGenerator
token.ThrowIfCancellationRequested();
var inheritance = propertySymbol.IsVirtual ? " virtual" : propertySymbol.IsOverride ? " override" : string.Empty;
- var useRequired = string.Empty;
+
+ attributeData.TryGetNamedArgument("UseRequired", out bool useRequiredArgument);
+ var useRequired = useRequiredArgument ? "required " : string.Empty;
+
var typeNameWithNullabilityAnnotations = propertySymbol.Type.GetFullyQualifiedNameWithNullabilityAnnotations();
var fieldName = propertySymbol.GetGeneratedFieldName();
var propertyName = propertySymbol.Name;
@@ -326,7 +329,7 @@ private static string GetPropertySyntax(PropertyInfo propertyInfo)
{{fieldSyntax}}
///
{{propertyAttributes}}
- {{propertyInfo.TargetInfo.TargetVisibility}}{{propertyInfo.Inheritance}} {{partialModifier}}{{propertyInfo.UseRequired}}{{propertyInfo.TypeNameWithNullabilityAnnotations}} {{propertyInfo.PropertyName}}
+ {{propertyInfo.TargetInfo.TargetVisibility}}{{propertyInfo.Inheritance}} {{propertyInfo.UseRequired}}{{partialModifier}}{{propertyInfo.TypeNameWithNullabilityAnnotations}} {{propertyInfo.PropertyName}}
{
get => {{propertyInfo.FieldName}};
[global::System.Diagnostics.CodeAnalysis.MemberNotNull("{{fieldName}}")]